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
}
添加回答
舉報