4

私が期限付きの課題として、私のグループと私は教育的/インタラクティブなゲームをコーディングするように求められ、基本的な数学のゲームに決めました.

ユーザーの回答を得るために、Java Scanner を使用し、このコード行をすべてのコードの先頭に配置することにしました。

java.util.Scanner

これを使用するループの 1 つは、質問のあるページです。ループは次のようになります。

scoreCount = 0;

for (questions = 0; questions < 5;) {
  //get the user's answer
    userAnswer[questions] = input.nextInt();
  //text box for users answer

  if (userAnswer[questions] == compAnswer) { 
    //put tick next to answer

    //add one to score
      scoreCount = scoreCount + 1;
  } else if (userAnswer[questions] != compAnswer) {
    //put cross next to answer

  }

  //go to next question
  questions++ ;

}

私はスローされたすべてのエラーに取り組んでおり、java.util.Scannerコメントアウトしていないたびに、処理によってエラーがスローされunexpected token:、次にclassまたはvoidのいずれかがスローされますが、java.util.Scannerがコメントアウトされると、クラスとすべてが無効になります動作し、.input.nextInt()認識されません。

私はJavaプログラミングと処理が初めてです。どんな助けでも大歓迎です

編集

これは私のコードを見ることができるリンクだと思います.Testと呼ばれています。

https://github.com/MeganSime/Week8DataVis

4

2 に答える 2

3

スキャナーに次の int (トークン) があるかどうかを確認する必要があります

Scanner input = new Scanner(System.in);

.
.

if(input.hasNextInt()) { // or hasNext()
    userAnswer[questions] = input.nextInt();
}
于 2013-11-03T13:39:53.913 に答える
2

intおそらく、スキャナーが期待する場所に非値を挿入しています。あなたはそのようなことをするべきです:

if(input.hasNextInt()) {
   userAnswer[questions] = input.nextInt();
} else {
   scan.next(); //consume any non-int value like ":"
}
于 2013-11-03T13:37:05.067 に答える