这是我的扫描仪代码:
async
输入: 0.2 0.5 0.9 ,我得到了:
NullReferenceException
如何删除该错误?
答案 0 :(得分:5)
这是一个区域设置问题: 如果你想使用。你可以尝试类似的东西:
package test;
import java.util.Locale;
import java.util.Scanner;
public class TryDouble {
public static void main(String [] args){
Scanner jin = new Scanner(System.in).useLocale(Locale.US);
double a = jin.nextDouble();
double b = jin.nextDouble();
double c = jin.nextDouble();
System.out.println(a + b + c);
}
}
答案 1 :(得分:0)
当有人输入除double之外的其他内容时,抛出此异常。我试着进入' a'并且能够看到异常。
理想的方法是使用next()将输入作为String,验证它并显示错误消息(如果它不是数字)。
由于Scanner未关闭,该示例也存在资源泄漏。以下是如何做到这一点:
public static void main(String [] args){
Scanner jin = null;
try{
jin = new Scanner(System.in);
//logic
}finally{
jin.close();
}
}