0

私のループは一度だけ実行されます。

このコードは、ホームチーム名、アウェーチーム名、ホームチームの得点、アウェイチームの得点を取得して格納することを想定しています。「EXIT」に入ったときにのみループを終了する必要があります。ただし、ループは 1 回だけ実行されます。ただし、出口部分は機能します。私はJavaが初めてなので、ちょっとした間違いでしたら申し訳ありません。

まだ例外を処理していないため、コードは不完全です。

    String[] ht_name = new String[9999];
    String[] at_name = new String[9999];
    int[] ht_score = new int[9999];
    int[] at_score = new int[9999];
    Scanner scanint = new Scanner(System.in);
    Scanner scanstr = new Scanner(System.in);

    int i=0;
            //do while loop starts
    do {

        System.out.println("Enter Home team name: ");

        ht_name[i] = scanstr.nextLine();

            if(!ht_name[i].equalsIgnoreCase("exit"))
            {
                System.out.println("Enter Away team name: ");
                at_name[i] = scanstr.nextLine();

                System.out.println("Enter Home team score: ");
                ht_score[i] = scanint.nextInt();


                System.out.println("Enter Away team score: ");
                at_score[i] = scanint.nextInt();

                i++;
            }

        } while (!ht_name[i].equalsIgnoreCase("exit"));
       //do while loop ends
    }}
4

3 に答える 3

3

インデックス計算エラー、コードの最後の行は次のようになります。

while (!ht_name[i-1].equalsIgnoreCase("exit"))
于 2019-03-23T15:43:39.190 に答える