猜数字

/*
标题:猜数字
内容:
猜数字

很多人都玩过这个游戏:甲在心中想好一个数字,乙来猜。每猜一个数字,甲必

须告诉他是猜大了,猜小了,还是刚好猜中了。下列的代码模拟了这个过程。其

中用户充当甲的角色,计算机充当乙的角色。为了能更快地猜中,计算机使用了

二分法。
阅读分析代码,填写缺失的部分。

把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“

解答.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)
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
*/

posted on 2013-05-03 09:48  wsxjbcy  阅读(204)  评论(0编辑  收藏  举报

导航