zoukankan      html  css  js  c++  java
  • “找女神要QQ号码”——跟风篇java新手版(求指点)

      吃完粽子后闲来无事,于是准备在园子里面看看。突然看到了一个找女神要QQ号码的文章,顿时精力充沛了~~^_^。

    该文章楼主说明此算法来自于《啊哈!算法》,图文并茂,非常不错。《啊哈!算法》.pdf下载地址:http://vdisk.weibo.com/s/zzBPqzw3MPnbM

    本来只是看看而已,结果发现评论很火爆,都在发自己的实现代码。

    比如:美女程序员是如何将QQ转换成题目中那串数字的--读博文《找女神要QQ号码》 http://www.cnblogs.com/net-xiejun/p/4589594.html 等

    我等初学者也必定想去凑凑热闹。

    题目就是这样的:

    给了一串数字(不是QQ号码),根据下面规则可以找出QQ号码:

    首先删除第一个数,紧接着将第二个数放到这串数字的末尾,再将第三个数删除,并将第四个数放到这串数字的末尾......

    如此循环,知道剩下最后一个数,将最后一个数也删除

    按照刚才删除的顺序,把这些数字连在一起就是女神的QQ号码啦。

    java代码如下:

    import java.util.LinkedList;
    import java.util.Queue;
    
    public class Yule {
        private String QQ;    
        
        public Yule(String qQ) {
            this.QQ = qQ;
        }
        
        public String getQQ() {
            return QQ;
        }
        public void setQQ(String qQ) {
            QQ = qQ;
        }
        
        public String getRealQQ(){
            StringBuffer sb = new StringBuffer();
            int n = 1;        
            String str1= "";
            Queue<String> queue = new LinkedList<String>();
            
            for(int i =0 ;i<QQ.length();i++){
                queue.add(String.valueOf(QQ.charAt(i)));
            }
            
            while((str1 = queue.poll()) != null){
                if(n%2 ==0){
                    queue.add(str1);
                }else{
                    sb.append(str1);
                }
                n++;            
            }
            return sb.toString();    
        }
        
        public static void main(String[] args) {
            System.out.println("女神qq号是:"+new Yule("631758924").getRealQQ());
        }
    
    }

    运行结果是:“女神qq号是:615947283” 

    结果等于答案。

    看看自己的代码,然后再看看别人的代码,总觉的很臃肿,十分渴望能把代码写的精辟一些、优雅一些,但是水平有限。

    这次之所以想上首页,原因只有一个,希望看到这篇文章的大神们,能帮我提提建议,如何优化一下代码,非常感谢!

  • 相关阅读:
    Hashtable,挺爽的一个东西,大家都用烂了吧,我再画蛇添足一下。
    今天你写控件了吗?ASP.net控件开发系列(八)
    Attribute在运行期赋值?
    整几个题给大家玩玩,看看“下盘功夫”怎样
    当stringFormat碰上{和}
    一句SQL语句解决倒序数据分页提取
    C#扩展一般用于linq
    字符串转日期类型
    Dispatcher与UI线程交互
    圆形进度条
  • 原文地址:https://www.cnblogs.com/lovelp/p/4591920.html
Copyright © 2011-2022 走看看