浏览了这个网站上的问题,但找不到我正在寻找的关于类型转换的答案Math.random()
方法从 double 到 int。
我的问题是,为什么Math.random
只返回不带括号的 0,而当它包含在括号内时返回随机数?
代码的第一部分返回 0:
int number;
number = (int) Math.random() * 10;
System.out.println("\nThe random number is " + number);
然而这段代码可以工作:
int number;
number = (int) (Math.random() * 10);
System.out.println("\nThe random number is " + number);
应该指出的是,我已经看到了一些关于类型转换的不同代码片段,其中一些程序员似乎使用两种类型转换方式。
这段代码:
number = (int) Math.random() * 10;
首先计算这个:
(int) Math.random()
Since Math.random()
返回从 0 到 1 之间的数字,但不包括 1,如果将其转换为 int,它将向下舍入为 0。然后,当您将 10 乘以 0 时,会得到 0。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)