对于我已经到期的作业,我的小组和我被要求编写教育/互动游戏的代码,我们决定使用基础数学游戏。
为了得到用户的答案,我们决定使用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;
答案 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 ":"
}