我正在编写一个从文件中获取一行的方法,然后应该打印该文件中的数字
public static void getScore(String line){
Scanner lineScanner=new Scanner(line);
lineScanner.next();
int score=0;
score= lineScanner.nextInt();
System.out.println(score);
}
在main方法中我只是用字符串作为参数调用它,但无论我改变什么,我都会得到错误java.util.InputMismatchException。我该如何解决这个问题?
答案 0 :(得分:0)
您正在调用字符串并尝试读取导致输入不匹配的int。例如,应用程序希望从输入文件中读取整数,而是读取实数。在这种情况下,我们输入不匹配,因此将抛出inputwillmismatch
答案 1 :(得分:0)
如果这是您的输入:
Memorial Northwest 70593 San Marino 77043
您的代码不正确。
来自Scanner
的{{3}}:
扫描程序使用分隔符模式将其输入分解为标记,分隔符模式默认匹配空格。
您创建了一个扫描程序,然后调用next
,它返回当前令牌Memorial
并前进到下一个令牌。
您调用nextInt
尝试将当前令牌Northwest
解析为整数,但不是,因此它会抛出InputMismatchException
。
您必须再次调用next
以前进到实际上是整数的令牌。