2017-08-19 109 views
-5

我製作了一個隨機的生物發生器,它的表現非常好看,但是當打印結果時,它會打印出相同的結果5次。我嘗試了一些不同的東西,例如多次使用println(),並在while循環中執行,但是每次運行文件時我都會得到一堆相同的結果。 「A B C d e」的是產生的生物打印出多個隨機結果

int x = 1; 
do { 
    System.out.println(x +" " +a +" " +b +" " +c +" " +d +" " +e); 
    x++; 
} while (x<=5); 
+5

您不會將值更改爲循環內的'a','b','c','d'或'e'。所以我不明白你爲什麼期望價值觀發生變化。 –

回答

0

爲什麼你得到了相同的答案5倍的原因是因爲字符串您do-while循環運行5次,在不改變「生物」。

System.out.println(a +" "+ b + " " + c + " " + d + " " +e); 

如果刪除do-while循環,你會得到相同的答案只有一次但是以防萬一,我誤解你的問題我做了在其中獲得了多個隨機結果的簡單的方法一個簡單演示for循環,字符串數組和隨機類

String[] creatures = {"Dog", "Cat", "Fish", "Monkey", "Horse"}; 
    Random r = new Random(); 

    for (int i = 0; i < 5; i++) { 
     String creature1 = creatures[r.nextInt(creatures.length)]; 
     String creature2 = creatures[r.nextInt(creatures.length)]; 
     String creature3 = creatures[r.nextInt(creatures.length)]; 
     String creature4 = creatures[r.nextInt(creatures.length)]; 
     String creature5 = creatures[r.nextInt(creatures.length)]; 

     System.out.println(creature1 + " " + creature2 + " " + creature3 
       + " " + creature4 + " " + creature5); 

    } 
+0

謝謝,我試圖改變循環之外的a-e的值。 –