Java Scanner在Processing中不起作用

时间:2013-11-03 13:33:11

标签: java processing java.util.scanner

对于我已经到期的作业,我的小组和我被要求编写教育/互动游戏的代码,我们决定使用基础数学游戏。

为了得到用户的答案,我们决定使用Java Scanner并将这行代码放在我们所有代码的顶部;

java.util.Scanner

使用它的一个循环是带有问题的页面,循环看起来像这样;

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:,然后{{1}或者class,我不知道,但当void被注释掉时,类和空洞都有效,java.util.Scanner无法识别。< / p>

我是Java编程和处理的新手,非常感谢任何帮助

修改

我认为这是让你看到我的代码的链接,它叫做Test;

https://github.com/MeganSime/Week8DataVis

2 个答案:

答案 0 :(得分:3)

你必须检查扫描仪是否有下一个int(令牌)

Scanner input = new Scanner(System.in);

.
.

if(input.hasNextInt()) { // or hasNext()
    userAnswer[questions] = input.nextInt();
}

答案 1 :(得分:2)

您可能在扫描仪需要的位置插入非int值。你应该这样做:

if(input.hasNextInt()) {
   userAnswer[questions] = input.nextInt();
} else {
   scan.next(); //consume any non-int value like ":"
}