思路
Java实现猜数字游戏原理和C语言相似,不过这次的游戏中加入了一些之前没有的设置
代码详解
1.设置随机数种子
首先,还是设置随机数种子,语法有别于C语言
Random r = new Random(); //设置随机数种子,无参数默认以时间为种子
注意:Random函数需要导入包,类似于C语言中的include<...>,同样写在程序最开始
import java.util.Random;
2.生成随机数
生成需要猜的随机数,并且设置范围为[0,100]
int toGuess = r.nextInt(100) + 1; //设置随机数范围为 [0,100]
3.Ctrl+D退出游戏
用户按Ctrl+D直接退出游戏
if (!s.hasNextInt()){ //Ctrl + D 可直接退出游戏 System.out.println("退出"); break; }
4.判断是否超过最大输入次数
在最开始定义最大输入次数maxCount,之后用户每输入一次,count+1,count超过maxCount后退出游戏
int maxCount = 3; //定义可输入的最大次数为3 int count = 0; int putIn = s.nextInt(); count++; //记录输入次数 if (count > maxCount){ //超过最大可输入次数,退出 System.out.println("超过输入次数"); break; }
5.判断是否猜对
if (putIn > toGuess) { System.out.println("大了"); } if (putIn < toGuess) { System.out.println("小了"); } if (putIn == toGuess) { System.out.println("猜对了"); break; }
完整代码参考
import java.util.Random; import java.util.Scanner; public class GuessNum { public static void main(String[] args) { Random r = new Random(); //设置随机数种子,无参数默认以时间为种子 int toGuess = r.nextInt(100) + 1; //设置随机数范围为 [0,100] Scanner s = new Scanner(System.in); int maxCount = 3; //定义可输入的最大次数为3 int count = 0; while (true) { if (!s.hasNextInt()){ //Ctrl + D 可直接退出游戏 System.out.println("退出"); break; } int putIn = s.nextInt(); count++; //记录输入次数 if (count > maxCount){ //超过最大可输入次数,退出 System.out.println("超过输入次数"); break; } if (putIn > toGuess) { System.out.println("大了"); } if (putIn < toGuess) { System.out.println("小了"); } if (putIn == toGuess) { System.out.println("猜对了"); break; } } } }