各位大佬帮帮忙,整了半天也不知道哪里出错了
import java.util.Random;
import java.util.Scanner;
public class Demo8 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
Random random=new Random();
int number = random.nextInt(100);
int num=0;
int count=0;
System.out.println("生成随机数:"+number);
boolean flag=false;
do {
System.out.println("请输入猜测数字:");
number = random.nextInt();
num = input.nextInt();
if (num < number) {
System.out.println("猜小了,大一些");
} else if (num > number) {
System.out.println("猜大了,小一些");
} else {
flag=true;
}
`` }while (!flag);
System.out.println("猜测次数:"+count);
count= input.nextInt();
if (count>=1&&count<=5) {
System.out.println("太厉害了!天才啊!");
} else if (count>=6&&count<=10) {
System.out.println("很牛啊,高手!");
} else if (count>=11 &&count<=16) {
System.out.println("还不错啊!");
}else if(count>16){
System.out.println("笨!这么慢");
}
}
}
运行结果如下:
生成随机数:13
请输入猜测数字:
45
猜小了,大一些
请输入猜测数字:
46
猜小了,大一些
请输入猜测数字:
78
猜小了,大一些
请输入猜测数字:
12
猜小了,大一些
请输入猜测数字:
13
猜大了,小一些
请输入猜测数字:
请各位找找这个猜数字小游戏的错误
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- a5156520 2023-12-23 14:01关注
如果要猜的随机数只产生一次,那么第17行可以去掉,然后在do-while循环中让count进行计数即可。
修改如下:import java.util.Random; import java.util.Scanner; public class Demo8 { public static void main(String[] args) { Scanner input=new Scanner(System.in); Random random=new Random(); int number = random.nextInt(100); int num=0; int count=0; //System.out.println("生成随机数:"+number); boolean flag=false; do { System.out.println("请输入猜测数字:"); // number = random.nextInt(); // 因为前面已经产生了要猜的数,所以这里不需要再产生随机数,否则要猜的数每循环一次,就会再产生一次 num = input.nextInt(); count++; // 猜数之后,猜数次数+1 if (num < number) { System.out.println("猜小了,大一些"); } else if (num > number) { System.out.println("猜大了,小一些"); } else { flag=true; } }while (!flag); System.out.println("猜测次数:"+count); //count= input.nextInt(); // count的值是通过记录猜数的次数而产生,不是通过获取输入来获得,所以这里这行可以去掉 if (count>=1&&count<=5) { System.out.println("太厉害了!天才啊!"); } else if (count>=6&&count<=10) { System.out.println("很牛啊,高手!"); } else if (count>=11 &&count<=16) { System.out.println("还不错啊!"); }else if(count>16){ System.out.println("笨!这么慢"); } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 使用VH6501干扰RTR位,CANoe上显示的错误帧不足32个就进入bus off快慢恢复,为什么?
- ¥15 大智慧怎么编写一个选股程序
- ¥100 python 调用 cgps 命令获取 实时位置信息
- ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
- ¥15 C语言使用vscode编码错误
- ¥15 用KSV5转成本时,如何不生成那笔中间凭证
- ¥20 ensp怎么配置让PC1和PC2通讯上
- ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
- ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
- ¥15 请各位帮我看看是哪里出了问题