JavaSE习题 用Java解决猜数字游戏
猜数字游戏
游戏规则:系统自动生成一个随机整数(1-100),然后由用户输入一个猜测的数字,如果输入的数字比该随机数小,提示“低了”,如果输入的数字比该随机数大,提示“高了”,如果输入的数字和随机数相等,则提示“猜对了”。
题目分析:
1.系统自动生成——考察点为需要设置随机种子(Random random = new Random);
2.用户输入数字——考察点为在Java中读取数字(使用Scanner读取整数/字符串/浮点数);
3.猜错的时候系统需要死循环进入到下一轮直到猜对为止——考察点为while的死循环与跳出(while(true)、break);
所以可得到如下代码:
import java.util.Random;
import java.util.Scanner;
public class TestDome {public static void main(String[] args) {
Random random = new Random();//默认随机种子是系统时间
Scanner scanner = new Scanner(System.in);
int toGuess = random.nextInt(100);
while(true){
System.out.println("请输入猜测的数字(1-100):");
int num = scanner.nextInt();
if(num < toGuess){
System.out.println("低了");
}else if (num > toGuess){
System.out.println("高了");
}else{
System.out.println("猜对了");
break;
}
}
scanner.close();//关闭了scanner,那么在接下来的代码中将无法再使用scanner,即便再次声明了一个新的Scanner对象也是如此。
}
}
运行结果如下:
注意点: 有关scanner.close();的解释说明。
scanner.close();//关闭了scanner,那么在接下来的代码中将无法再使用scanner,即便再次声明了一个新的Scanner对象也是如此。