当前位置: 代码迷 >> J2SE >> 给俺看看吧 菜鸟的悲剧?
  详细解决方案

给俺看看吧 菜鸟的悲剧?

热度:334   发布时间:2016-04-24 18:10:06.0
给俺看看吧 初学者的悲剧??
这是题目: 下面是我的自己的代码

猜数游戏”项目

程序运行显示一个文本菜单主界面:

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);
  }

  }
}


我想加入题目要求中的 次数限制 但是我怎么也加不进去 初学者的悲剧吗>?求救的孩子在线等!!

------解决方案--------------------
再看看这个
Java code
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();    }}
  相关解决方案