-2

我的问题是,当我运行代码时,如果运行了 if 语句,但随后绕过了 for 循环。我是新手,这是第一篇文章。欢迎所有帮助。

if (tMenuChoice == 1)
        {
            System.out.println("How many teams are there going to be?");
            int tNumberOfTeams = tKeyboard.nextInt();

            // This is where the code stops running. The for loop is not read but bypassed.

            for (int i = 1; i == tNumberOfTeams;i++)
            {
                System.out.println("Team " + i + "'s name?");
                String tNameOfTeam = tKeyboard.nextLine();
                String [] tTeamArray = new String[i]; 
            }
        }

谢谢

4

3 回答 3

3
for (int i = 1; i == tNumberOfTeams;i++)

应该

for (int i = 0; i < tNumberOfTeams;i++)

问题是它会在第一次运行时测试条件为假,并且永远不会进行迭代。此外,由于您正在写入数组,因此您需要从 0 开始。

于 2013-07-07T22:10:13.373 回答
1

在行上放一个断点:

int tNumberOfTeams = tKeyboard.nextInt();

确保分配给 tNumberOfTeams 的值大于 1,并且,就像上面提到的评论者一样,for 循环不应在继续条件(第二个参数)中包含 ==。如果这是有意的,我建议使用另一个 if 语句或其他代码块。

于 2013-07-07T22:17:00.500 回答
0

问题出在 for 循环的条件语句中: (int i = 1; i == tNumberOfTeams;i++)

您首先将变量 i 初始化为 1 然后您有条件 - 只有在此条件评估为真时才会执行循环。条件是 i == tNumberOfTeams。除非团队数等于 1(这是当前存储在 i 中的值),否则根本不会执行循环。

您可能想要做的是说 i<=tNumberOfTeams,这样只要该语句为真,循环就会继续运行。

于 2013-07-07T22:14:36.657 回答