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