我要求用户输入一个数字直到用户找到它。 无论用户输入的是数字还是其他任何类似char或string的内容,我都无法验证每个输入。 所以基本上我试图防止任何不匹配异常错误。
答案 0 :(得分:0)
如果您正在编写代码以将输入作为整数,那么它应该是一个错误,或者如果它没有int作为输入则不会继续。
如果您正在编写代码以将char或字符串作为整数,那么您应该使用Integer.parseInt()将输入转换为int值。
答案 1 :(得分:0)
尝试将文本解析为数字,如果失败,捕获失败并提示用户重新输入该号码。
应该足以让你前进。
答案 2 :(得分:0)
您可以尝试将String解析为双精度并捕获NumberFormatException
,这将表明输入的数字无效。
private static boolean isNumber(String s){
try{
Double.parseDouble(s);
return true;
} catch (NumberFormatException e){
return false;
}
}
如果您不想让字符串"NaN"
被接受为数字,则可以在分析字符串之前检查它是否等于"NaN"
。
private static boolean isNumber(String s){
if(s.trim().equals("NaN")){
return false;
}
try{
Double.parseDouble(s);
return true;
} catch (NumberFormatException e){
return false;
}
}