上代码:
public static void main(String[] args) {
int num = new Random().nextInt(100) + 1;
System.out.println("请输入1-100随机正整数来匹配,你有五次机会");
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
if (i < 5 || i > 1) {
System.out.println("请重新输入:");
}
String string = scanner.nextLine();
if (!string.matches("\\d+")) {//排除非数字
System.out.println("请输入数字");
break;
}
Integer integer = Integer.valueOf(string);
if (integer > 100 || integer < 0) {
System.out.println("请输入0-100的整数");
break;
}
switch (integer.compareTo(num)) {
case 1:
System.out.println("输入的数字大了");
break;
case -1:
System.out.println("输入的数字小了");
break;
default:
System.out.println("恭喜你答对了!");
System.out.println("正确答案:" + num);
return;
}
if (i == 4) {
System.out.println("很遗憾,没能猜对,正确答案是:" + num);
}
}
scanner.close();
}
输出结果:
请输入1-100随机正整数来匹配,你有五次机会
请重新输入:
50
输入的数字大了
请重新输入:
25
输入的数字小了
请重新输入:
40
恭喜你答对了!
正确答案:40
输了三次,猜对了结果,程序结束。