簡體   English   中英

兩者產生隨機數,且乘積不同

[英]The two generate random numbers and their product is different

因此,即時通訊創建了一個程序,該程序生成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;
}

我的問題是,當我運行它時,兩個數的乘積是不同的ex:7 * 4 = 24

完整的代碼示例將很不錯(請參見如何創建最小,完整和可驗證的示例 ),但讓我猜測:您首先看到了兩個隨機數(通過打印它們或以其他方式)。 然后調用您的方法。 該方法從thenumber()thenumber2()繪制兩個新的隨機數。 這就是(偽)隨機數的意義,您每次都使用不同的數字。 因此,如果您是第一次繪制數字7和4,也許下次是3和8,那么乘積就是24。

有兩種可能的解決方案:

  1. 調用thenumber()thenumber2() ,將結果分配給兩個變量。 現在,您可以查看獲得的號碼。 將這兩個數字傳遞到您的thefusion方法中,它應該計算出預期的乘積。
  2. 而不是Math.random()使用Random類並用一個已知的種子實例化它。 從中畫出兩個數字並檢查它們。 從相同的種子中創建一個新的Random實例,並讓thefusion()使用它。 現在它將繪制相同的兩個數字,您將獲得所需的產品。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM