黑马程序员技术交流社区

标题: 为什么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);这样就比较清晰了。
  1. import java.util.Random;
  2. import java.util.Scanner;
  3. public class GuessNum {

  4.         /**
  5.          * 案例演示
  6.          * 需求:猜数字小游戏(数据在1-100之间)
  7.          */
  8.         public static void main(String[] args) {
  9.                 Scanner sc = new Scanner(System.in);
  10.                 System.out.println("请输入一个整数在1-100之间");
  11.                 int guessNum = (int)(Math.random() * 100) +1;
  12.                 System.out.println(guessNum);     //打印此随机数
  13.                
  14.                 while (true) {
  15.                         int result = sc.nextInt();
  16.                         if (result > guessNum) {
  17.                                 System.out.println("大了");
  18.                         }else if (result < guessNum) {
  19.                                 System.out.println("小了");
  20.                         }else {
  21.                                 System.out.println("中了");
  22.                                 break;
  23.                         }
  24.                 }
  25.         }
  26. }
复制代码
[attach]110105[/attach]

QQ截图20160517230229.png (5.76 KB, 下载次数: 3)

QQ截图20160517230229.png





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2