-5

编辑:对不起,我需要澄清我的问题,我想更改字符串动物的含义,首先是狗,然后是猫,所以当循环运行时,它将首先使用字符串动物 = 狗,第二次将使用字符串动物 = 猫

第一次内部 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

1 回答 1

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在循环中根本没有改变。
于 2013-10-28T14:46:41.413 回答