1

私は、設定したテキスト ファイルから読み取った内容に基づいて、文字の成績と平均を出力するプログラムを作成しています。テキスト ファイルには、いくつかのサンプル番号 (整数) が既に含まれています。

コンパイルされますが、実行すると「int grade = in.nextInt();」が強調表示されます。次のエラーが表示されます。

    java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:907)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextInt(Scanner.java:2160)
at java.util.Scanner.nextInt(Scanner.java:2119)
at Prog2.main(Prog2.java:26)

どんな助けでも大歓迎です!

public class Prog2
{ 
public static void main(String args[]) throws Exception 
{
   Scanner in = new Scanner(new File("prog2test.txt")); 
   int scores = (in.nextInt());
   int A = 0;
   int B = 0;
   int C = 0;
   int D = 0;
   int F = 0;

   while (scores > 0)
   {
      int grade = in.nextInt();
      if (grade >= 90)
      {
         A++;
      }
      else if (grade >= 80)
      {
         B++;
      }
      else if (grade >= 70)
      {
         C++;
      }
      else if (grade >= 60)
      {
         D++;
      }
      else
      {
         F++;
      }

      scores = scores--;
   }  
   scores = 0;
   while (scores > 0)
   {
      System.out.println(in.nextInt());
      scores--;
   }
}
}
4

2 に答える 2

2

in.hasNextInt()while ループ条件として読み取る別の整数があるかどうかを確認する必要があります。

于 2013-10-14T03:34:32.270 に答える