为什么for循环没有在if语句中运行? Java的

时间:2013-07-07 22:09:00

标签: java eclipse for-loop

我的问题是,当我运行代码时,运行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]; 
            }
        }

由于

3 个答案:

答案 0 :(得分:3)

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

应该是

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

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

答案 1 :(得分:1)

在线上放置一个断点:

int tNumberOfTeams = tKeyboard.nextInt();

确保分配给tNumberOfTeams的值大于1,并且与上述评论者一样,for循环在continue条件(第2个参数)中永远不应包含==。如果是这样的话,我建议使用另一个if语句或其他代码块。

答案 2 :(得分:0)

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

您首先将变量i初始化为1 然后你有条件 - 只有在这个条件的计算结果为true时才会执行循环。条件是i == tNumberOfTeams。除非团队数等于1(这是当前存储在i中的值),否则循环将不会被执行。

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