2013-10-28 38 views
-5

編輯:對不起,我需要澄清一下我的問題,我想改變字符串動物的含義,第一隻狗然後是貓,所以當循環運行時它首先使用字符串動物=狗和第二次它將使用字符串動物=貓如何在forloop中更改字符串等於什麼

第一次內部forloop運行,我想字符串動物等於狗,第二次它等於貓。

所以它會像這樣:

狗1解決了多少難題?

狗2解決了多少難題?

狗3解決了多少個難題?

狗4解決了多少難題?

貓1解決了多少個難題?

貓2解決了多少個難題?

貓3解決了多少個難題?

貓4解決了多少個難題?

在此先感謝

final int NUMANIMALS = 4; 
int puzzlesSolved;  
int puzzlesTotal; 
String textinput;  
String animal; 

for(int i = 1; i <=2; i++) 
{ 
    for(int puzzleNum = 1; puzzleNum <= NUMANIMALS; puzzleNum++) 
    { 
     while(true) 
     { 
      textinput = JOptionPane.showInputDialog("How many puzzles did " + 
       animal + puzzleNum + " solve?"); 

      puzzlesSolved = Integer.parseInt(textinput); 

      if(!(puzzlesSolved >= 0 && puzzlesSolved <= 5)) 
      { 
       JOptionPane.showMessageDialog(null, 
        "Please enter a number between 0 and 5"); 
      } else { break; } 
     } 
    } 
} 
+4

聽起來很有趣。你有什麼問題? – thegrinner

回答

1

只需使用一個if條件。

if (i == 1) { 
    animal = "dog"; 
} else if (i == 2) { 
    animal = "cat"; 
} 

一些補充意見:

  1. 我會建議使用的Enum代替String
  2. 這個:for(int puzzleNum = 1; puzzleNum <= NUMANIMALS; mazeNum++)對我來說看起來像一個無限循環,因爲你的puzzleNum根本不會在循環中改變。
+0

甚至更​​好的一系列動物選擇,然後只是拿起第i個元素。這樣,添加鴨,牛等很容易 –

+0

@RichardTingle不是真的,當你使用'enums'時,添加鴨子和牛很容易。不是一些動物選擇。 –

+0

枚舉幾乎總是「更好」的方式,但它們對於初學者來說可以是先進的 –