用Java写一个猜数游戏,由计算机产生随机数,猜中即胜,猜不中提示大了还是小了,同时如果用户输入的不是数字,提醒他重新输入,继续猜,直到猜中,给出所用时间还有评语
时间: 2023-05-25 18:05:46 浏览: 108
java 猜数游戏
5星 · 资源好评率100%
import java.util.Random;
import java.util.Scanner;
public class GuessNumber {
public static void main(String[] args) {
int randomNumber = new Random().nextInt(100) + 1; // 生成1-100之间的随机数
Scanner scanner = new Scanner(System.in);
long startTime = System.currentTimeMillis(); // 记录开始时间
int count = 0; // 猜测次数
while (true) {
System.out.println("请输入你猜测的数字(1-100):");
String input = scanner.nextLine();
if (!isNumeric(input)) {
System.out.println("你输入的不是数字,请重新输入!");
} else {
int guessNumber = Integer.parseInt(input);
if (guessNumber < 1 || guessNumber > 100) {
System.out.println("请在1-100之间猜测!");
} else {
count++;
if (guessNumber == randomNumber) {
long endTime = System.currentTimeMillis(); // 记录结束时间
long timeUsed = endTime - startTime; // 计算所用时间
String comment = "";
if (count <= 5) {
comment = "你太厉害了,简直是神猜!";
} else if (count <= 10) {
comment = "你猜得不错哦!";
} else {
comment = "需要再多练习一下啦!";
}
System.out.println("恭喜你,猜对了!你一共猜了" + count + "次,用时" + timeUsed + "毫秒。" + comment);
break;
} else if (guessNumber < randomNumber) {
System.out.println("你猜的数字太小了!");
} else {
System.out.println("你猜的数字太大了!");
}
}
}
}
}
public static boolean isNumeric(String str) {
if (str == null || str.length() == 0) {
return false;
}
for (int i = 0; i < str.length(); i++) {
if (!Character.isDigit(str.charAt(i))) {
return false;
}
}
return true;
}
}
阅读全文