2015-02-11 198 views
0

我想弄清楚我是否需​​要在代碼中使用if語句或循環。如果random2等於random1,那麼我想讓random2生成另一個隨機數。如果random2周圍的第二次再次等於random1,我希望代碼繼續運行,直到它生成與random1不同的數字。一些指導將非常感謝。if語句或循環

public void generate(View view) { 
     Random randomGenerator = new Random(); 
     int random1 = randomGenerator.nextInt(10); 
     int random2 = randomGenerator.nextInt(10); 
+0

問題變得毫無意義。如果您需要測試一次,則使用'if',如果您想一遍又一遍地重複代碼,則使用循環。他們沒有可比性。 – Barmar 2015-02-11 20:05:11

+0

謝謝,我會牢記這一點。我不確定兩者之間的區別是什麼。我在網上做了大量的閱讀,並且它超出了我的頭腦。謝謝 – Learningmind 2015-02-11 20:18:54

+0

這應該是學習如何編程時首先要學習的東西之一。它應該在任何教科書中解釋。 – Barmar 2015-02-11 20:19:55

回答

2

你應該使用一個循環。創建一個新的隨機數,直到它們的區別:

Random randomGenerator = new Random(); 
int random1 = randomGenerator.nextInt(10); 
int random2; 
do { 
    random2 = randomGenerator.nextInt(10); 
} while(random1 == random2); 
+0

非常好。非常感謝。我猜測,如果我使用上面的代碼來確保第三個隨機數字不等於前兩個,它也會起作用。我現在會玩。我再次真誠地向所有那些回覆如此迅速的人致以誠摯的謝意 – Learningmind 2015-02-11 20:12:47

+0

@Learningmind:是的,你只需要在第一個之後再進行一次循環,在那裏你將第三個數字與另外兩個數字進行比較。 – Guffa 2015-02-11 20:24:06

0

我會去爲一個循環:

Random rng = new Random(); 

int r1 = rng.nextInt(10); 
int r2; 

do { 
    r2 = rng.nextInt(10); 
while (r1 == r2);