得到了我老师的挑战。 这是问题所在:
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。谢谢。
答案 0 :(得分:0)
好:-)由于某些操作被禁止,我希望这个问题与您的数字符号有关。因为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));