作者:岚氵的幽岚1980 | 来源:互联网 | 2024-10-30 13:45
在端午节后的闲暇时光中,我无意间在技术社区里发现了一篇关于如何巧妙地向心仪女生索取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 queue = new LinkedList();
for(int i =0 ;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”
结果等于答案。
看看自己的代码,然后再看看别人的代码,总觉的很臃肿,十分渴望能把代码写的精辟一些、优雅一些,但是水平有限。
这次之所以想上首页,原因只有一个,希望看到这篇文章的大神们,能帮我提提建议,如何优化一下代码,非常感谢!