-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++)

問題は、最初の実行でテスト条件が false になり、その反復が行われないことでした。また、配列に書き込んでいたため、0 から開始する必要がありました。

于 2013-07-07T22:10:13.373 に答える
1

行にブレークポイントを置きます。

int tNumberOfTeams = tKeyboard.nextInt();

tNumberOfTeams に割り当てられる値が 1 より大きいことを確認してください。また、上記のコメンターのように、ループの継続条件 (2 番目のパラメーター) に == を含めないでください。これが意図されている場合は、別の if ステートメントまたは他のコード ブロックをお勧めします。

于 2013-07-07T22:17:00.500 に答える
0

問題は for ループの条件ステートメントにあります: (int i = 1; i == tNumberOfTeams;i++)

最初に変数 i を 1 に初期化します。次に条件があります。ループは、この条件が true と評価された場合にのみ実行されます。条件は i == tNumberOfTeams です。チームの数が 1 (i に現在格納されている値) に等しくない限り、ループはまったく実行されません。

おそらくあなたがしたいことは、i<=tNumberOfTeams と言って、そのステートメントが真である限りループが実行され続けるようにすることです。

于 2013-07-07T22:14:36.657 に答える