我是一个才学习java的小菜鸟:
最近做一个猜数字游戏!
当游戏被才对时:游戏者回车确认后,回到主界面;如果输入次数超过8次,则提示“超过次数,尚需努力”,游戏者回车确认后,回到主界面。以下是我的代码:
import java.util.Random;
import java.util.Scanner;
public class Guess {
public static void main(String[] args){
System.out.println("***欢迎进入猜字游戏***");
System.out.println("1.开始游戏 ");
System.out.println("2.退出");
//产生随机数
Random r = new Random();
int num = r.nextInt(100);
Scanner scanner= new Scanner(System.in);
int command=scanner.nextInt();
// 这个当输入1时开始:2时退出
if(command==2){
System.exit(0);
}
while(command==1){
int guessNum=0;
System.out.println("请输入你的猜测");
// 下面是用键盘输入 存在sc中
Scanner sc = new Scanner(System.in);
guessNum=sc.nextInt();
int compare=guessNum-num;
if(compare>0){
System.out.println("你的猜测偏大");
}
if(compare<0){
System.out.println("你的猜测偏小");
}
if(compare==0){
System.out.println("猜测结果正确,游戏结束!");
System.exit(0);
}
}
------解决方案--------------------
- Java code
import java.util.Random;import java.util.Scanner;public class GuessGame { public static void main(String[] args) { while (true) { int command = getIndexChoice(); ; // 这个当输入1时开始:2时退出 System.out.println(command); if (command == 2) System.exit(0); else { int count = 0;//已经进行过0次 while (true) { boolean flag = playGames(); if (flag == true) { System.out.println("继续玩游戏,返回主界面"); break; } else { count++;//次数加1 if (count == 8) { System.out.println("超过次数,尚需努力"); break; } } } ; } } } static int getIndexChoice() {//获取主页中选项 System.out.println("***欢迎进入猜字游戏***"); System.out.println("1.开始游戏 "); System.out.println("2.退出"); // 产生随机数 Scanner scanner = new Scanner(System.in); return scanner.nextInt(); } static boolean playGames() {//,输出为 是否猜中 Random r = new Random(); int num = r.nextInt(100); //随机产生一个数据 int guessNum = 0; System.out.println("请输入你的猜测"); // 下面是用键盘输入 存在sc中 Scanner sc = new Scanner(System.in); guessNum = sc.nextInt(); int compare = guessNum - num; if (compare > 0) { System.out.println("你的猜测偏大"); return false; } else if (compare < 0) { System.out.println("你的猜测偏小"); return false; } // if (compare == 0) { else { //System.out.println("猜测结果正确,游戏结束!"); //System.exit(0); System.out.println("猜测结果正确,回到主界面!"); return true; } }}
------解决方案--------------------
- Java code
import java.util.Random;import java.util.Scanner;public class GuessGame { private static int GUESS_NUM; private static int GUESS_ALL_NUM=8; public static void main(String[] args) { while (true) { GUESS_NUM=initGuessNumber(); int command = getIndexChoice(); ; // 这个当输入1时开始:2时退出 System.out.println(command); if (command == 2) System.exit(0); else { int count = 0;// 已经进行过0次 while (true) { boolean flag = playGames(); count++; System.out.println("已经猜了"+count+"次,还有"+(GUESS_ALL_NUM-count)+"次机会"); if (flag == true) { System.out.println("继续玩游戏,返回主界面"); break; } else { // 次数加1 if (count == GUESS_ALL_NUM) { System.out.println("超过次数,尚需努力"); break; } } } ; } } } static int initGuessNumber(){ Random r = new Random(); int num = r.nextInt(100); // 随机产生一个数据 return num; } static int getIndexChoice() {// 获取主页中选项 System.out.println("***欢迎进入猜字游戏***"); System.out.println("1.开始游戏 "); System.out.println("2.退出"); // 产生随机数 Scanner scanner = new Scanner(System.in); return scanner.nextInt(); } static boolean playGames() {// ,输出为 是否猜中 int guessNum = 0; System.out.println("请输入你的猜测"); // 下面是用键盘输入 存在sc中 Scanner sc = new Scanner(System.in); guessNum = sc.nextInt(); int compare = guessNum - GUESS_NUM; if (compare > 0) { System.out.println("你的猜测偏大"); return false; } else if (compare < 0) { System.out.println("你的猜测偏小"); return false; } // if (compare == 0) { else { // System.out.println("猜测结果正确,游戏结束!"); // System.exit(0); System.out.println("猜测结果正确,回到主界面!"); return true; } }}