我必須爲ArrayList中的52000個實例生成兩個隨機數,攻擊1和攻擊2,攻擊1必須大於攻擊2,所以我必須將它們放入列表中。這是我的示例代碼:隨機數和while循環問題
do {
atk_p1 = (int) (Math.random() * (5000-500+1)+500);
atk_p2 = (int) (Math.random() * (5000-500+1)+500);
} while(atk_p1 <= atk_p2);
data.add(String.valueOf(atk_p1));
data.add(String.valueOf(atk_p2));
我的問題是,上面的代碼,有時作品(因此atk_p1
大於atk_p2
),但其他時間沒有(因此atk_p2
大於atk_p1
)。我試圖解決這個問題。感謝您的幫助。
上面的代碼是Java。
這是什麼編程語言?請使用該信息更新問題並添加適當的標籤。 – Kusalananda
爲什麼不生成第一個數字作爲上限的第二個數字,從而否定了do ... while循環的需要? –
在文中,你一直說「大於」,但是在你寫的「大於或等於」的代碼中。你的意思是哪一個。 – Kusalananda