生成随机数的方法:Random rd = new random();
主代码如下:
import java.util.Random; import java.util.Scanner; public class Day_01 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Random rd = new Random(); boolean isFlag = true; String Details = "进行猜数,如果正确游戏结束."; String Details1 = "如果错误,继续猜并告知猜大了还是小了"; while (isFlag) { System.out.println("-------欢迎来到猜数游戏-------"); System.out.println("-----------请选择难度--------"); System.out.println(" 0.规 则"); System.out.println(" 1.简 单"); System.out.println(" 2.困 难"); System.out.println(" 3.地 狱"); System.out.println(" 4.退 出"); System.out.print(" 请选择(1-4):"); char selection = Utility1.readMenuSelection(); switch (selection){ case '0': System.out.println("-------------规 则-------------"); System.out.println(Details); System.out.println(Details1); System.out.println("--------------------------------\n"); break; case '1': System.out.println("-------------简 单-------------"); while (true) { int count = 0; int numbers = rd.nextInt(101) + 1; System.out.println(numbers); for (int i = 0; i < 20; i++) { count++; System.out.println("请输入你的数:"); int num = sc.nextInt(); if (num == numbers) { if (count > 0 && count <= 3) { System.out.println("恭喜你获得一等奖"); System.out.println("退出请输入101,请输入:"); int sr =sc.nextInt(); if (sr==101) break;; } else if (count > 3 && count <= 8) { System.out.println("恭喜你获得二等奖"); System.out.println("退出请输入101,请输入:"); int sr =sc.nextInt(); if (sr==101) break;; } else if (count > 8 && count <= 12) { System.out.println("恭喜你获得三等奖"); System.out.println("退出请输入101,请输入:"); int sr =sc.nextInt(); if (sr==101) break;; } else { System.out.println("恭喜你获得参与奖"); System.out.println("退出请输入101,请输入:"); int sr =sc.nextInt(); if (num==101) break;; } } else if (num > numbers && num <= 100) { System.out.println("猜大了"); } else if (num>101) { System.out.println("请输入1~100之间的数"); count--; } else { System.out.println("猜小了"); } } break; } case '2': System.out.println("-------------困 难-------------"); while (true) { int count = 0; int numbers = rd.nextInt(1001) + 1; System.out.println(numbers); for (int i = 0; i < 100; i++) { count++; System.out.println("请输入你的数:"); int num = sc.nextInt(); if (num == numbers) { if (count > 0 && count <= 15) { System.out.println("恭喜你获得一等奖"); System.out.println("退出请输入1001,请输入:"); int sr =sc.nextInt(); if (sr==1001) break;; } else if (count > 15 && count <= 45) { System.out.println("恭喜你获得二等奖"); System.out.println("退出请输入1001,请输入:"); int sr =sc.nextInt(); if (sr==1001) break;; } else if (count > 45 && count <= 75) { System.out.println("恭喜你获得三等奖"); System.out.println("退出请输入1001,请输入:"); int sr =sc.nextInt(); if (sr==1001) break;; } else { System.out.println("恭喜你获得参与奖"); System.out.println("退出请输入1001,请输入:"); int sr =sc.nextInt(); if (num==1001) break;; } } else if (num > numbers && num <= 1000) { System.out.println("猜大了"); } else if (num>1001) { System.out.println("请输入1~100之间的数"); count--; } else { System.out.println("猜小了"); } } break; } break; case '3': System.out.println("-------------困 难-------------"); while (true) { int count = 0; int numbers = rd.nextInt(10001) + 1; System.out.println(numbers); for (int i = 0; i < 500; i++) { count++; System.out.println("请输入你的数:"); int num = sc.nextInt(); if (num == numbers) { if (count > 0 && count <= 15) { System.out.println("恭喜你获得一等奖"); System.out.println("退出请输入10001,请输入:"); int sr =sc.nextInt(); if (sr==10001) break;; } else if (count > 15 && count <= 30) { System.out.println("恭喜你获得二等奖"); System.out.println("退出请输入10001,请输入:"); int sr =sc.nextInt(); if (sr==10001) break;; } else if (count > 30 && count <= 60) { System.out.println("恭喜你获得三等奖"); System.out.println("退出请输入10001,请输入:"); int sr =sc.nextInt(); if (sr==10001) break;; } else { System.out.println("恭喜你获得参与奖"); System.out.println("退出请输入10001,请输入:"); int sr =sc.nextInt(); if (num==10001) break;; } } else if (num > numbers && num <= 10000) { System.out.println("猜大了"); } else if (num>10001) { System.out.println("请输入1~100之间的数"); count--; } else { System.out.println("猜小了"); } } break; } break; case '4': System.out.print("确认是否退出(Y/N):"); char isExit = Utility1.readConfirmSelection(); if(isExit == 'Y'){ isFlag = false; } break; } } } }
调用的方法的代码:
import java.util.Scanner; public class Utility1 { private static Scanner sc = new Scanner(System.in); public static char readMenuSelection(){ char c; for(; ; ){ String str = readKeyBoard(1); c = str.charAt(0); if(c != '0' && c != '1' && c != '2' && c != '3' && c != '4'){ System.out.print("选择错误,请重新输入"); }else break; } return c; } public static char readConfirmSelection(){ char c; for(; ; ){ String str = readKeyBoard(1).toUpperCase(); c = str.charAt(0); if(c == 'Y' || c == 'N'){ break; }else { System.out.print("选择错误,请重新输入:"); } } return c; } private static String readKeyBoard(int limit) { String line=""; while (sc.hasNext()) { line = sc.nextLine(); if(line.length()<1||line.length()>limit){ //System.out.print("输入长度(不大于" + limit + ")错误,请重新输入v:"); continue; } break; } return line; } }