1、报数游戏
有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数,直到最后剩下一个孩子为止。问剩下第几个孩子。下面的程序以10个孩子为例,模拟了这个过程,请完善之(提示:报数的过程被与之逻辑等价的更容易操作的过程所代替)。
Vector a = new Vector();
for(int i=1; i<=10; i++)
{undefined
a.add("第" + i + "个孩子");
}
for(;;)
{undefined
if(a.size()==1) break;
for(int k=0; k<2; k++)
________________;
a.remove(0);
}
System.out.println(a);
填写:
a.add(a.remove(0)
结果:
第4个孩子
2、不连续处断开
下列代码运行结果为:
12345
23456
89
23456789
即把一个串从数字不连续的位置断开。试完善之。
String s = "12345234568923456789"; String t = "1"; for (int i = 1; i < s.length(); i++) { if (s.charAt(i) == s.charAt(i - 1) + 1) { t += s.charAt(i); } else { System.out.println(t); _____________________; } } System.out.println(t);
结果:
12345 23456 89 23456789
填写:(注意没有;)
t = "" + s.charAt(i)
package action; public class demo2 { public static void main(String[] args) { String s = "12345234568923456789"; String t = "1"; for (int i = 1; i < s.length(); i++) { if (s.charAt(i) == s.charAt(i - 1) + 1) { t += s.charAt(i); } else { System.out.println(t); t = "" + s.charAt(i); } } System.out.println(t); } }