“找女神要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”

结果等于答案。

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

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

时间: 2024-11-07 17:32:24

“找女神要QQ号码”——跟风篇java新手版(求指点)的相关文章

找女神要QQ号码

这两天微信订阅号中反复出现<找女神要QQ号码>(e.g.http://www.cnblogs.com/iforever/p/4584490.html),题目是这样的: 给了一串数字(不是QQ号码),根据下面规则可以找出QQ号码:首先删除第一个数,紧接着将第二个数放到这串数字的末尾,再将第三个数删除,并将第四个数放到这串数字的末尾......如此循环,知道剩下最后一个数,将最后一个数也删除,按照刚才删除的顺序,把这些数字连在一起就是女神的QQ号码啦. 我也来凑个热闹: -------------

“找女神要QQ号码”——java篇

题目就是这样的: 给了一串数字(不是QQ号码),根据下面规则可以找出QQ号码: 首先删除第一个数,紧接着将第二个数放到这串数字的末尾,再将第三个数删除,并将第四个数放到这串数字的末尾...... 如此循环,知道剩下最后一个数,将最后一个数也删除 按照刚才删除的顺序,把这些数字连在一起就是女神的QQ号码啦. public static void main(String[] arg0) throws Exception { String QQ = "631758924"; String r

美女程序员是如何将QQ转换成题目中那串数字的--读博文《找女神要QQ号码》

我只能说好好的端午节你们不约么?,还在这里写代码?我也是够无聊的,下班了不走也在这跟风写着玩!<找女生要QQ号码原文>原文链接http://www.cnblogs.com/iforever/p/4584490.html 题目:给了一串数字(631758924不是QQ号码),根据下面规则可以找出QQ号码:首先删除第一个数,紧接着将第二个数放到这串数字的末尾,再将第三个数删除,并将第四个数放到这串数字的末尾......如此循环,知道剩下最后一个数,将最后一个数也删除,按照刚才删除的顺序,把这些数字

第2个自己写的Java,从txt里提取QQ号码

流+正则表达式 做了一个抓取文件里QQ号码的几行代码,居然写了这么久....书到用时方恨少,累死了 ~~~~(>_<)~~~~

第14篇-JAVA GUI编程

第14篇-JAVA GUI编程 每篇一句 :道路一开始开辟的时候总是存在障碍的 初学心得: 原本下定决心才能开始的事情也变得理所当然 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-25| JAVA GUI编程 ] 1.什么是界面 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面 与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受 2.Java 基础类 JFC 的基本

第4篇-JAVA基础

第4篇-JAVA基础 每篇一句 :世界上本没有完美,但是我们从未放弃追求完美 初学心得: 乐于挥霍的时间,都不能算作浪费 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-01| JAVA基础 Ⅳ] 程序运行流程 (1) 顺序结构 (2) 分支结构 (3) 循环结构 (4) break 与 continue关键字 (5) 数组 (6) 方法 1.顺序结构 如果代码里没有流程控制,程序是至上而下一行一行执行的 一条语句执行完之后继续执行下一条语句,直到程序的最后 2.分支结构 顺

第5篇-JAVA面向对象Ⅰ

第5篇-JAVA面向对象Ⅰ 每篇一句 :面向对象面向君,不负代码不负卿 初学心得: 代码虐我千百遍,我待代码如初恋 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-03| JAVA面向对象 Ⅰ] 1.JAVA作为一种面向对象语言,具有以下基本概念: ● 多态 ● 继承 ● 封装 ● 抽象 ● 类 ● 对象 ● 实例 ● 方法 ● 重载 2.面向对象 什么是面向对象?: 面向对象是一种编程思想 通俗的说:面向对象是一种思考问题的思维方式 为什么使用面向对象以及它的作用 计算机语

【转】一个在内存里搜索QQ号码的源码,源自看雪论坛

#include <windows.h> #include <tlhelp32.h> #include <tchar.h> #include <stdlib.h> #include <stdio.h> int SearchStr(PTSTR pszString, int iStrLen, PTSTR pszSearchStr) { int i = 0; int iSearchStrlen = _tcslen(pszSearchStr); whil

调用WebService查看QQ号码状态

1.1.  webService服务接口 QQ在线状态 WEB 服务 Endpoint:http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx Disco:http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx?disco WSDL:http://webservice.webxml.com.cn/webservices/qqOnlineW