程序运行时自动产生一个1-100之间的随机数,让游戏者来猜这个数。当从键盘接收到游戏者输入的数据后,程序给出的相应的提示信息,游戏者根据提示不断从键盘输入数据,直到猜中。另外程序还提供了“重新开始”和“退出”的功能,可供游戏者重复进行游戏。
1. 建立Java程序,使用键盘输入流提供用户输入所猜数据;
2. 使用Math.random()产生一个100以内的随机数;
3. 使用一个循环从键盘输入数据,并和产生的随机数判断是否大小关系,给出相应提示,循环结束条件为猜中产生的随机数;
4. 判断是否继续游戏;要求用户输入信息;
5. 添加外层循环判断是否继续游戏;
6. 在项目报告中说明键盘输入的基本语句。
7. 在项目报告中写出for语句的执行过成。
8. 在项目报告中分析while与do-while之间的区别和联系
相关方法如下:
//功能:从键盘读入一行字符;输出:返回用户输入的字符串
//程序中直接调用方法即可.
static String readStr(){
String str = "";
try{
BufferedReader br = new BufferedReader(//创建缓冲输入流对象,供键盘输入
new InputStreamReader(System.in));
str = br.readLine();
}catch (IOException e){}
return str;
}
产生0-1之间随机数的方法调用:Math.random();1-100间随机数如何计算?
字符串的比较方法:equalsIgnoreCase(),使用示例:
String str = readStr(); //从键盘读入一行字符
if(str.equalsIgnoreCase("y")) //将str与"y"比较(忽略大小写),相等则返回true
System.out.println("str is"+str);
将输入的数字字符串转换为整数的使用示例:
String strNum = readStr();
int n = Integer.parseInt(strNum); //转换为整型数
重难点提示:
1 程序一共有两层循环,外层决定是否继续游戏,内层负责猜数.注意循环退出条件是猜中才退出,编程前,最好写出猜数的处理流程!
一次猜数的过程:
1 屏幕提示:""请输入数值(1-100):"
2 生成1-100间的随机整数r
3 从键盘读入字符串
4 将字符串转化为整数n
5 猜测次数count+1;
6 如果r>n ,提示"偏大了,请继续:",回到3;若r<n,提示"偏小了,请继续:",回到3;若r=n,提示:"恭喜!"+ count + "次猜对!,退出循环,方法结束.
方法实现原型:
void guessNum(){
}
附:
测试用例的基本概念,一般程序编写后,必然要运行,看实际运行结果与预先的设想是否一致,若一致,则认为程序正确,否则,就要检查调试修改程序,再运行测试.
一个测试用例基本的由三部分组成:
输入值 期望输出值 实际输出值
例如要测试readStr()方法,
输入abc,期望方法返回结果为abc,实际结果则是方法调用后的实际返回值,显然若方法有问题,则实际结果不一定为abc;同时输入abc,实际运行返回abc也不能说明程序就一定正确,需要输入更多的值,进行验证,如:
输入值 期望输出值 实际输出值
abc abc
直接回车 ""
一个空格 " "
“方” "方"
可能有无穷的输入,那如何以最少的输入,达到较全面测试程序的目的,是测试中需要解决的关键问题之一,以后会介绍一些基本的方法给
大家。