- 12
- 0
- 约2.36万字
- 约 31页
- 2016-08-23 发布于河南
- 举报
代码填空打印版
一、有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数,直到最后剩下一个孩子为止。问剩下第几个孩子。下面的程序以10个孩子为例,模拟了这个过程,请完善之(提示:报数的过程被与之逻辑等价的更容易操作的过程所代替)。
Vector a = new Vector();
for(int i=1; i=10; i++)
{a.add(第 + i + 个孩子); }
for(;;)
{if(a.size()==1) break;
for(int k=0; k2; k++)
________________;
a.remove(0);
}
System.out.println(a);
参考答案:a.add(a.remove(0))
可能有多个答案,代入到源程序中,运行程序,输出结果正确则给分。
二、 下列代码运行结果为:
12345
23456
89即把一个串从数字不连续的位置断开。试完善之。
String s = 12345234568923456789;
String t = 1;
for(int i=1; is.length(); i++)
{if(s.charAt(i)==s.charAt(i-1)+1)
{t += s.charAt(i);}
else {System.out.println(t);
____________________;}
}
System.out.println(t);
参考答案:
t = + s.charAt(i)
可能有多个答案,代入到源程序中,运行程序,输出结果正确则给分。
三、猜数字
很多人都玩过这个游戏:甲在心中想好一个数字,乙来猜。每猜一个数字,甲必须告诉他是猜大了,猜小了,还是刚好猜中了。下列的代码模拟了这个过程。其中用户充当甲的角色,计算机充当乙的角色。为了能更快地猜中,计算机使用了二分法。
阅读分析代码,填写缺失的部分。
把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。
System.out.println(请在心中想好一个数字(1~100),我来猜);
System.out.println(我每猜一个数字,你要告诉我是“猜大了”,“猜小了”,还是“猜中”);
Scanner scan = new Scanner(System.in);
int v1 = 1;
int v2 = 100;
for(;;)
{
int m = (v1 + v2)/2;
System.out.println(我猜是: + m);
System.out.println(1.猜得太大了);
System.out.println(2.猜得太小了);
System.out.println(3.猜中!);
System.out.print(请选择:);
int user = Integer.parseInt(scan.nextLine());
if(user==3) break;
if(user==1) _____________;
if(user==2) _____________;
}
参考答案:
空1:v2 = m-1 (4.5分)
空2:v1 = m+1 (4.5分)
可能有多个答案,代入到源程序中,运行程序,输出结果正确则给分。
四、反转串
我们把“cba”称为“abc”的反转串。
求一个串的反转串的方法很多。下面就是其中的一种方法,代码十分简洁(甚至有些神秘),请聪明的你通过给出的一点点线索补充缺少的代码。
把填空的答案(仅填空处的答案,不包括题面)存入考生文件下对应题号的“解答.txt”中即可。
public static String reverseString(String x)
{
if(x==null || x.length()2) return x;
return ____________________ + x.charAt(0);
}
参考答案:
reverseString(x.substring(1))
注意:
reverseString(x.substring(1,x.length())) 是对的
这个绕弯的办法也是对的
reverseString(new StringBuffer(x).deleteCharAt(0).toString())
可能有多个答案,代入到源程序中,运行程序,输出结果正确则给分。
五、
以下的静
原创力文档

文档评论(0)