[英]Issue with “Math.random()” in Java
我想編寫一個在窗口上繪制一些特定點的代碼。 我有3個不同的點$(e1,e11),(e2,e22),(e3,e33)$。 我想隨機選擇其中之一,並根據輸出,畫出不同的點。
public class ChaosGame {
public static void main(String[] args) {
Window window = new Window("Chaos", 800, 800);
window.open();
int e1 = 420;
int e11 = 170;
int e2 = 230;
int e22 = 670;
int e3 = 700;
int e33 = 540;
while (window.isOpen()) {// ändere den Fensterinhalt
int pos1 = 100;
int pos2 = 300;
int i = (int) (Math.random() * 3);
if (i == 0 || i == 3) {
window.fillRect(pos1 + e1 / 2, pos2 + e11 / 2, 5, 5);
pos1 = e1 / 2;
pos2 = e11 / 2;
window.refresh();
} else if (i == 1) {
window.fillRect(pos1 + e2 / 2, pos2 + e22 / 2, 5, 5);
pos1 = e2 / 2;
pos2 = e22 / 2;
window.refresh();
} else {
window.fillRect(pos1 + e3 / 2, pos2 + e33 / 2, 5, 5);
pos1 = e3 / 2;
pos2 = e33 / 2;
window.refresh();
}
}
}
}
fillRect在新窗口中繪制我的點。 現在,當我運行該程序時,即使它應該在“ while window.isOpen”上運行,也只有兩點出現,直到關閉窗口。 我認為Math.random()可能有問題。
您需要更改window.fillRect(pos1 + e2 / 2, pos2 + e22 / 2, 5, 5);
到window.fillRect(pos1 + e3 / 2, pos2 + e33 / 2, 5, 5);
在else
語句中。 在兩種情況下,您將繪制相同的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.