包含java编程丢手绢代码的词条

JAVA丢手绢问题CycLink 这个类中,有firstChild,temp 这个两个变量 , 在初始化的时候(for 循环)都被赋值 。
firstChild中 有一个属性nextChileChild , 表示指向下一个Child 。
在for循环中
当 i=2 时
temp=child(1); (在执行i=1 时赋值的),
#看第一步
1 Child child = new Child(i);
//创建child2
2 temp.nextChileChild=child;
表示child1 的下一个小孩是 child2;
3temp = child;
表示 temp指向child2.
通过这样 child1.nextChileChild= child2。
也就说firstChild =child1 。
firstChild.nextChileChild=child2 。
当i=3 时,
1 Child child = new Child(i);
//创建child3
2 temp.nextChileChild=child;
表示child2 的下一个小孩是 child3;
3temp = child;
表示 temp指向child3.
以此类推
firstChild.nextChileChild.nextChileChild=child3;
如此看来child 并没有没了,而是被保存起来了 。
java 编程题目 数组模拟链表 如何删除节点给你一段可以跑到代码 链表完成 约瑟夫问题
/**
* 功能:josephu问题(丢手绢)
* 目的:面向对象编程思想
*/
【包含java编程丢手绢代码的词条】public class Josephu {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CycLink cycLink = new CycLink();
cycLink.setLen(9);
cycLink.setK(2);
cycLink.setM(5);
cycLink.creatLink();
cycLink.play();
}
}
/**
* 小孩类
* @author tenglian
*/
class Child{
int no;
Child nextChild; //指向下一个小孩
Child previousChild; //指向上一个小孩
public Child(int no){
this.no = no;
}
}
/**
* 环形链表类
*/
class CycLink{
int len = 0;//小孩的总数
Child firstChild = null;
Child temp = null;
//从第几个小孩开始
int k;
//数到第几个小孩
int m;
//创建环形链表,让小孩围坐一圈
public void creatLink(){
for(int i = 1; i = len; i){
//如果是第一个小孩 将第一个小孩锁定
if(i == 1){
Child ch = new Child(i);
firstChild = ch;
temp = ch;
} else {
//如果这是最后一个小孩
if(i == len){
Child ch = new Child(i);
temp.nextChild = ch;
temp = ch;
temp.nextChild = this.firstChild;
} else {
//否则继续创建小孩
Child ch = new Child(i);
temp.nextChild = ch;
temp = ch;
}
}
}
}
/**
* 开始play(玩丢手绢游戏)
*/
public void play(){
Child temp = null;//跑龙套1
Child temp2 = null;//跑龙套2
Child temp3 = null;//跑龙套3
//第一步,找到开始数数的小孩——k
temp = this.firstChild;
for(int i = 1; ik; i){
temp = temp.nextChild;
}
//从第二步开始循环
while(len0){
//第二步 找到数到m的小孩
for(int j = 1; jm; j){
if(m - j == 1){
temp3 = temp;
}
temp2 = temp.nextChild;
temp = temp2;
}
//第三步,让数到m的小孩出圈
temp3.nextChild = temp2.nextChild;
temp = temp2.nextChild;
len--;
System.out.print(temp2.no" ");
}
}
public void setLen(int len){
this.len = len;
}
public void setK(int k) {
this.k = k;
}
public void setM(int m) {
this.m = m;
}
}
java 丢手绢问题进入for循环java编程丢手绢代码,执行int i =1; 这时java编程丢手绢代码的ik;执行
temp = temp.nextChild; 假设temp.nextChild=小红,小红java编程丢手绢代码的下一个是小明,小明java编程丢手绢代码的下一个是小强 。完毕,在执行i,这个时候i=2;完成一个循环 。
第二次循环 , i=2,i还是小于k,temp = temp.nextChild,这个时候的temp实际上已经是小红java编程丢手绢代码了 , 第二次循环到这里的时候,temp.nextChild是小明,总是指向下一个人 。
丢手绢猜三个数字?谜底 :这三个数是550.
解析 :手绢丢了,就变成两手空空,在这三个数中,“55”表示两只手的五个指头,“0”表示空白 。
结论 :丢手绢暗指的三个数是“550” 。
java编程丢手绢代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java编程丢手绢代码的信息别忘了在本站进行查找喔 。

    推荐阅读