A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我写了一个猜字数小游戏 程序无措但是 控制不了次数 定义6次 到了1次的时候在跳就是0次 在就是-1次了无法跳出或者结束
[Java] 纯文本查看 复制代码
/*
	猜数字小游戏(数据在1-100之间)
	
	分析:
		A:程序产生一个随机数。(被猜的)
		B:键盘录入数据。(你猜的)
		C:把你猜的和被猜的进行比较
			a:大了
			b:小了
			c:猜中了
		D:给出多次猜的机会,猜中就结束。
			while()循环,猜中就break
*/
import java.util.Scanner;
public class GuessNumberDemo {
	public static void main(String[]args){
		//让程序产生一个随机数。(被猜的)数据在1-100之间
		int number =(int)(Math.random()*100)+1;
		int jihui=6;
		
		while(true){
			jihui--;
				//System.out.println("你总共只有"+jihui+"次");
			System.out.println("你还剩余"+jihui+"次机会");
		        
			//键盘录入数据。(你猜的)数据在1-100之间
			Scanner sc=new Scanner(System.in);
			System.out.println("请你输入你要猜的数字");
			int guessNumber=sc.nextInt();
			if(guessNumber>number){
				
				System.out.println("你输入的数字"+guessNumber+"大了请再次输入");				
			}else if(guessNumber<number){
				System.out.println("你输入的数字"+guessNumber+"小了请再次输入");
			}else if(jihui<1){
				System.out.println("你没机会了");
				break;
			}else{
			System.out.println("恭喜你输入正确");
			break;
		}
	}
}
}

8 个回复

倒序浏览
回复 使用道具 举报

放if里就一直提示还有6次机会不会相减的 你可以试试
回复 使用道具 举报
回复 使用道具 举报
import java.util.Random;import java.util.Scanner;public class Class01 {        public static void main(String[] args) {                Random r = new Random();                Scanner sc = new Scanner(System.in);                System.out.println("请你猜一个数:");                int num = r.nextInt(100) + 1;                int count = 6;                while (true) {                        int s = sc.nextInt();                        if(count <= 1){                                System.out.println("你沒有機會了");                                break;                        }                        if (s == num) {                                System.out.println("猜中了");                                break;                        } else if (s > num) {                                System.out.println("猜大了,你還有 "+ --count +"次機會");                        } else {                                System.out.println("猜小了,你還有"+ --count + "次機會");                        }                }        }}
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
感觉好乱呀
回复 使用道具 举报

帮忙解决下
回复 使用道具 举报
else if(jihui<1){
                System.out.println("你没机会了");
                break;
            }
把这一句去掉else 单独写个if就行了,不然这个else if 会一直执行不到
回复 使用道具 举报
风笑 初级黑马 2017-4-10 12:39:31
9#
不要使用死循环,将while()里的true改为条件,外面定义变量int i = 0;里面改为猜的次数,猜中时return结束程序,没猜中到次数不走循环,在下面System.out.println("次数用完");
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马