正文
包含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;
3 temp = 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;
3 temp = child;
表示 temp指向child3.
以此类推
firstChild.nextChileChild.nextChileChild=child3;
如此看来child 并没有没了,而是被保存起来了。
java 编程题目 数组模拟链表 如何删除节点
给你一段可以跑到代码 链表完成 约瑟夫问题
/**
* 功能:josephu问题(丢手绢)
* 目的:面向对象编程思想
*/
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; i k; i ++){
temp = temp.nextChild;
}
//从第二步开始循环
while(len 0){
//第二步 找到数到m的小孩
for(int j = 1; j m; 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编程丢手绢代码的信息别忘了在本站进行查找喔。