这是题目:  下面是我的自己的代码猜数游戏”项目程序运行显示一个文本菜单主界面:1 开始猜数2 退出游戏者选择1,则内部自动产生一个1-100之间的随机数,让游戏者来猜这个数,游戏者从键盘输入数字后,程序给出相应的提示信息(如果比实际小,则提示“小了”,反之则提示“大了”),游戏者根据提示不断从键盘输入数字,若猜中,则提示“恭喜你猜对了,你的战斗力是x%"(x=1-n/8,n是猜中时的次数),游戏者回车确认后,回到主界面;如果输入次数超过8次,则提示“超过次数,尚需努力”,游戏者回车确认后,回到主界面。游戏者若选择2则退出程序。
用户在输入过程中若输入错误,应提示:“输入错误,请重新输入”猜数游戏的扩展(能力强的选做,可加20分):
    添加“游戏难度”设置功能:
 主菜单增加一项 “游戏参数设置”,主界面显示如下:
1 开始猜数
2 游戏参数设置
9 退出
用户选择2后,显示参数设置子菜单:  import java.util.Random;
import java.util.Scanner;public class si {
    public static void main(String[] args){
        
        System.out.println("***欢迎进入猜字游戏***");
        System.out.print("1.开始游戏  ");
        System.out.println("2.退出");  
        System.out.println("*******************");
        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);
            }
        }
        if(command!=1||command!=2){
            System.out.println("输入非法字符,强制退出!");  
            System.exit(0);
        }    }
}
我想加入题目要求中的  次数限制   但是我怎么也加不进去  初学者的悲剧吗>?求救的孩子在线等!!  

解决方案 »

  1.   


    public static void main(String[] args) { System.out.println("***欢迎进入猜字游戏***");
    System.out.print("1.开始游戏 ");
    System.out.println("2.退出");
    System.out.println("*******************");
    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);
    try {
    guessNum = sc.nextInt();
    } catch (Exception e) {
    System.out.println("input error, reinput.");
    continue;
    }

    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);
    }
    }
    if (command != 1 || command != 2) {
    System.out.println("输入非法字符,强制退出!");
    System.exit(0);
    } }如果用户输入的不是一个int值,会提示用户输入错误,并且重新输入。
    楼主说需要加一个参数设置,不知道楼主具体的要求是什么。
      

  2.   

    public class Test {    public static void main(String[] args) {        System.out.println("***欢迎进入猜字游戏***");
            System.out.print("1.开始游戏 ");
            System.out.println("2.退出");
            System.out.println("*******************");
            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);
            }
            int time = 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 (++time == 8) {
                        System.out.println("超过次数,尚需努力");
                        break;
                    }
                }
                if (compare < 0) {
                    System.out.println("你的猜测偏小");
                    if (++time == 8) {
                        System.out.println("超过次数,尚需努力");
                        break;
                    }
                }
                if (compare == 0) {
                    System.out.println("猜测结果正确,游戏结束!");
                    System.out.println(1 - time / 8 + "%");
                    System.exit(0);
                }
            }
            if (command != 1 && command != 2) {
                System.out.println("输入非法字符,强制退出!");
                System.exit(0);
            }    }
    }
      

  3.   


    public static void main(String[] args) {
    System.out.println("***欢迎进入猜字游戏***");
    while (true) {
    System.out.print("1.开始游戏 ");
    System.out.println("2.退出");
    System.out.println("*******************");
    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);
    } int flag = 1;
    while (command == 1) {
    if (flag > 8) {
    System.out.println("超过8次,重新来过,谢谢!");
    break;
    }
    int guessNum = 0;
    System.out.println("请输入你的猜测");
    // 下面是用键盘输入 存在sc中
    Scanner sc = new Scanner(System.in);
    try {
    guessNum = sc.nextInt();
    } catch (Exception e) {
    System.out.println("input error, reinput.");
    continue;
    } 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);
    }
    flag++;
    }

    if (command != 1 && command != 2) {
    System.out.println(command);
    System.out.println("输入非法字符,强制退出!");
    break;
    }
    } }
      

  4.   

    再看看这个import java.util.Random;
    import java.util.Scanner;public class Test {    private Scanner scanner = new Scanner(System.in);
        private int command;
        private int time;
        private int guessNum;
        private int num;    private void menu() {
            System.out.println("***欢迎进入猜字游戏***");
            System.out.print("1.开始游戏 ");
            System.out.println("2.退出");
            System.out.println("*******************");
            chooseMenu();
        }    private void chooseMenu() {
            command = scanner.nextInt();
            switch (command) {
                case 1:
                    rondomNum();
                    guessNum();
                    break;
                case 2:
                    System.exit(0);
                    break;
                default:
                    System.out.println("输入错误,请重新输入");
                    menu();
            }
        }    private void rondomNum() {
            Random r = new Random();
            num = r.nextInt(100);
        }    private void guessNum() {
            
            System.out.println("请输入你的猜测");
            // 下面是用键盘输入 存在sc中
            //Scanner sc = new Scanner(System.in);
            guessNum = scanner.nextInt();
            int compare = guessNum - num;
            if (compare > 0) {
                System.out.println("你的猜测偏大");
                if (++time == 8) {
                    System.out.println("超过次数,尚需努力");
                    menu();
                }
            }
            if (compare < 0) {
                System.out.println("你的猜测偏小");
                if (++time == 8) {
                    System.out.println("超过次数,尚需努力");
                    menu();
                }
            }
            if (compare == 0) {
                System.out.println("猜测结果正确,游戏结束!");
                System.out.println(1 - time / 8.00 + "%");
                System.exit(0);
            }
            guessNum();
        }    public static void main(String[] args) {        Test test = new Test();
            test.menu();
        }
    }