关于Math.random()方法的问题?

关于Math.random()方法的问题?

int number = (int)Math.random()*10+5;//random number is from [0,1)
  System.out.println("the random number is:" + number);
  int guess;
  do {
   System.out.println("Pleae typpe int the number that in your mind which is from 0-100:");
   Scanner sc = new Scanner(System.in);
   guess = sc.nextInt();
   if(guess > number)
    System.out.println("the number is too big!");
   else if (guess < number)
    System.out.println("the number is too small!");
   }while(guess != number);
  System.out.println("congradulations!! you are right, the number is:" + guess);


通过多次的测试,如果我在Math.random() 后面乘以10加1,随机数就是1,加2,随机数就是2,加3,随机数就是3......加n,那么随机数就会是n。 这样子的话,随机数就不再是随机数了。。不知道问题在哪里

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
提问者 AmyTTC 2017-10-07 15:32:57

(int)(Math.random()*10+1)

  • 这个写法是对的,乘以10加1后再整体取整,像你上面写的就是先对Math.random()取整了,所以值为0,然后乘以10还是0,最后就成了你上面说的情况了。祝学习愉快!
    2017-10-07 19:42:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师