如何在Math.random java中获得不同的数字

时间:2019-10-10 19:23:16

标签: java

得到了我老师的挑战。 这是问题所在:

int x = (int) (Math.random() * 37 + 1);
int y = (int) (Math.random() * 37 + 1);
System.out.println( x + " " y);

我被要求在不使用条件/ for / while / etc / functions的情况下使x等于y。谢谢。

1 个答案:

答案 0 :(得分:0)

从Java开始的

好:-)由于某些操作被禁止,我希望这个问题与您的数字符号有关。因为x和y都是正数,并且与y的-1(或x但不是两者都乘)相乘就可以了。

Math.random()

总是积极的。因此,这两个数字通常都是正数。当您将一加到随机值时,它们两者也不都是零。通过更改变量之一的符号,它们将始终不同。

int x = (int) (Math.random() * 37 + 1);
int y = (int) (Math.random() * 37 + 1);
System.out.println(x + " " + (y*-1));