这两个产生随机数,它们的产品不同

时间:2016-10-11 10:54:37

标签: java random jcreator

所以即时创建一个生成2个随机数的程序,需要将它们相乘:

public static  int thenumber(){
int number1=(int)(Math.random()*10+1);


return number1;
}
public static  int thenumber2(){
int number2=(int)(Math.random()*10+1);
return number2;
}

并在以下方面解决:

public static int thefusion(){
int demi =thenumber() * thenumber2();
return demi;
}

我的问题是,当我运行它时,两个数字的乘积是不同的 例如:7 * 4 = 24

1 个答案:

答案 0 :(得分:0)

一个完整的代码示例会很好(请参阅How to create a Minimal, Complete, and Verifiable example),但让我猜一下:您是第一次看到这两个随机数(来自打印它们或其他方式)。然后你打电话给你的方法。该方法从thenumber()thenumber2()中提取两个新的随机数。这是(伪)随机数中的点,每次都不是相同的数字。所以如果你第一次画了7号和4号,也许下次你得到3号和8号,那么产品就是24号。

有几种可能的解决方案:

  1. 调用thenumber()thenumber2()时,将结果分配给两个变量。现在你可以看到你得到了哪些数字。将这两个数字传递到您的thefusion方法中,它应该计算出预期的产品。
  2. 而不是Math.random()使用Random类并使用已知种子实例化它。从中抽出两个数字并检查它们。从同一种子创建一个新的Random实例,并让thefusion()使用它。现在它将绘制相同的两个数字,您将得到您期望的产品。