黑马程序员技术交流社区
标题:
为什么Math.random()猜数字结果老是不对?
[打印本页]
作者:
黎贵福
时间:
2016-5-17 22:45
标题:
为什么Math.random()猜数字结果老是不对?
我的这程序没错吧?,然后输出的结果为什么老是不对呢?而且程序还是显示一直在运行,求解!
public class GuessNum {
/**
* 案例演示
* 需求:猜数字小游戏(数据在1-100之间)
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数在1-100之间");
int guessNum = (int)(Math.random() * 100) +1;
while (true) {
int result = sc.nextInt();
if (result > guessNum) {
System.out.println("大了");
}else if (result < guessNum) {
System.out.println("小了");
}else {
System.out.println("中了");
break;
}
}
}
}
结果是:
请输入一个整数在1-100之间
20
小了
10
小了
0
小了
作者:
ajj1314
时间:
2016-5-17 22:47
楼主是不是在开玩笑呢{:2_33:}
作者:
骄阳登峰
时间:
2016-5-17 22:58
本帖最后由 骄阳登峰 于 2016-5-17 23:05 编辑
请在main方法中加入一句语句, System.out.println(gesNum);这样就比较清晰了。
import java.util.Random;
import java.util.Scanner;
public class GuessNum {
/**
* 案例演示
* 需求:猜数字小游戏(数据在1-100之间)
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数在1-100之间");
int guessNum = (int)(Math.random() * 100) +1;
System.out.println(guessNum); //打印此随机数
while (true) {
int result = sc.nextInt();
if (result > guessNum) {
System.out.println("大了");
}else if (result < guessNum) {
System.out.println("小了");
}else {
System.out.println("中了");
break;
}
}
}
}
复制代码
[attach]110105[/attach]
QQ截图20160517230229.png
(5.76 KB, 下载次数: 3)
下载附件
2016-5-17 23:04 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2