import java.util.Scanner;
import static 随机数02.Random.useRandom;
import static 随机数02.Replay.useReplay;
public class RandomDemo02 {
public static void main(String[] args) throws EnumConstantNotPresentException {
while (true) {
System.out.println("欢迎来到猜数字游戏");
System.out.println("A.开始新游戏");
System.out.println("B.开始自定义游戏");
System.out.println("C.退出");
System.out.println("请输入你的选择:");
try {
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
switch (line) {
case "A":
useReplay();
break;
case "B":
useRandom();
break;
case "C":
System.out.println("谢谢使用");
System.exit(0);//JVM退出:java虚拟机退出
default:
System.out.println("你输入的数据不合规");
}
}catch (EnumConstantNotPresentException e){
System.out.println("你该不会输入了其他的东西吧,请重新输入一下");
e.constantName();
}
}
}
}
import java.util.Random;
import java.util.Scanner;
public class Replay extends CompareNumber{
static int rounds01 = 0;//初始化轮数
public static void useReplay() throws EnumConstantNotPresentException {
AO:while (true) {
Random r = new Random();
int number = r.nextInt(3) + 1;
int count01 = 1;//初始化while记录的次数
useCompareNumber(rounds01,count01,number);
BO:while (true) {
System.out.println("请选择下列操作:");
System.out.println("A.重新开始 B.结束游戏 C.继续游戏");
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
switch (line) {
case "A":
rounds01 = 0;
useReplay();
case "B":
rounds01 = 0;
System.out.println("本次游戏结束");
System.out.println("\r\t");
break AO;
case "C":
rounds01++;
break BO ;//结束操作循环BO,再次进入AO循环
default:
System.out.println("你输入的数据不合规");
}
}
}
}
}
import java.util.Scanner;
public class CompareNumber {
public static void useCompareNumber(int rounds666,int count666,int number666){
while (true) {
System.out.println("[当前为第" + (rounds666 + 1) + "轮]");
System.out.println("请输入你要猜的数字:");
Scanner sc = new Scanner(System.in);
if (sc.hasNextInt()) {//判断是否是该类型数据,返回true或者false
int guessnumber = sc.nextInt();
System.out.println("当前猜了(" + count666 + ")次");
if (guessnumber < number666) {
System.out.println("猜的数字比真实数字小");
} else if (guessnumber > number666) {
System.out.println("猜的数字比真实数字大");
}
if (guessnumber == number666) {
System.out.println("恭喜你猜中了");
break;
}
count666++;//记录while循环次数//猜的次数
} else {
System.out.println("请输入数字,别输入字符或字符串");
}
}
if (count666 < 7 && count666 >= 2) {
System.out.println("共猜了" + count666 + "次," + "哎呦,不错哟");
} else if (count666 >= 7 && count666 < 12) {
System.out.println("共猜了" + count666 + "次," + "还行还行");
} else if (count666 >= 12) {
System.out.println("共猜了" + count666 + "次," + "继续加油");
} else if (count666 == 1) {
System.out.println("共猜了" + count666 + "次," + "厉害");
}
}
}
请选择下列操作:
A.重新开始 B.结束游戏 C.继续游戏
A
[当前为第1轮]
请输入你要猜的数字:
2
当前猜了(1)次
恭喜你猜中了
共猜了1次,厉害
请选择下列操作:
A.重新开始 B.结束游戏 C.继续游戏
B
本次游戏结束
本次游戏结束
每次点了重新开始再去点结束游戏,就会出现两次结果“本次游戏结束”
本想只出现一次的,不知道为啥会出现两次