这是题目: 下面是我的自己的代码
猜数游戏”项目
程序运行显示一个文本菜单主界面:
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(); }}