我正在使用导入的math.random()类创建1到2之间的数字范围.
这是我到目前为止的工作方式,但我看不出它是如何工作的:
int tmp = (int)(Math.random()*1)+1;
Run Code Online (Sandbox Code Playgroud)
任何人都知道这是否真的可以达到范围?如果没有..那么什么
编辑:寻找数字1或2.
int tmp = (int) ( Math.random() * 2 + 1); // will return either 1 or 2
Run Code Online (Sandbox Code Playgroud)
Math.random()从 返回数字[0, 1)。因为(int)总是向下舍入(地板),您实际上需要 range [1,3),因此[1,2)将舍入为 1 并将[2,3)舍入为 2。