2 回答
TA贡献1998条经验 获得超6个赞
您可以在尝试转换之前检查您的输入是否为有效数字。例如:
if(!secondLetter.matches("[0-9]+")) {
//it's not a number, so dont attempt to parse it to an int
}
像这样把它放在你的 if/else 中:
if(secondLetter.equals("r") || secondLetter.equals("R")) {
newRem();
} else if(!secondLetter.matches("[0-9]+")){
System.out.println("please type r or R or a number");
} else if((Integer.parseInt(secondLetter) >= 0) && ...
TA贡献1829条经验 获得超7个赞
完整答案:您只能在可以解析为整数的字符串上使用 Integer.parsInt (String s)。字母“R”不能是数字,因此会产生异常。
if(Character.isLetter(secondLetter) && "R".equalsIgnoreCase(secondLetter)){
do code with "R"
}else if(Integer.parseInt(secondLetter) > 0 && Integer.parseInt(secondLetter) < 100){
do code with 0 < number < 100
}else{
do something else
}
添加回答
举报