/*
标题:猜数字
内容:
猜数字
很多人都玩过这个游戏:甲在心中想好一个数字,乙来猜。每猜一个数字,甲必
须告诉他是猜大了,猜小了,还是刚好猜中了。下列的代码模拟了这个过程。其
中用户充当甲的角色,计算机充当乙的角色。为了能更快地猜中,计算机使用了
二分法。
阅读分析代码,填写缺失的部分。
把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“
解答.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 import java.util.Scanner; 2 3 class pro03 { 4 public static void main (String[] args){ 5 Scanner scan = new Scanner(System.in); 6 int v1 = 1; 7 int v2 = 100; 8 for(;;) 9 { 10 int m = (v1 + v2)/2; 11 System.out.println("我猜是:" + m); 12 System.out.println("1.猜得太大了"); 13 System.out.println("2.猜得太小了"); 14 System.out.println("3.猜中!"); 15 System.out.print("请选择:"); 16 int user = Integer.parseInt(scan.nextLine()); 17 if(user==3) break; 18 if(user==1) v2 = m - 1;//这里为什么不是 m 或者,m + 1,需要仔细思考并用一些例子调试一下,m 的话是有问题的, 19 if(user==2) v1 = m + 1; 20 } 21 } 22 }
/*
String nextLine()
此扫描器执行当前行,并返回跳过的输入信息。
static int parseInt(String s)
将字符串参数作为有符号的十进制整数进行分析。
static int parseInt(String s, int radix)
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
*/