在Java中,Integer.parseInt()
方法用于將字符串轉換為整數。當輸入的字符串包含非數字字符時,parseInt()
會拋出NumberFormatException
異常。為了避免這個異常,你可以在調用parseInt()
之前對字符串進行檢查和清理。
以下是一個簡單的示例,展示了如何處理包含非數字字符的字符串:
public class Main {
public static void main(String[] args) {
String input = "123abc";
try {
int result = parseIntWithValidation(input);
System.out.println("The result is: " + result);
} catch (NumberFormatException e) {
System.out.println("Invalid input: " + input);
}
}
public static int parseIntWithValidation(String input) throws NumberFormatException {
// 檢查字符串是否只包含數字字符
if (input.matches("-?\\d+")) {
return Integer.parseInt(input);
} else {
// 如果字符串包含非數字字符,拋出異常或進行其他處理
throw new NumberFormatException("Input contains non-digit characters: " + input);
}
}
}
在這個示例中,我們定義了一個名為parseIntWithValidation
的方法,該方法首先使用正則表達式檢查輸入字符串是否只包含數字字符。如果是,則調用Integer.parseInt()
方法進行轉換。否則,拋出一個NumberFormatException
異常。這樣,你可以根據需要處理非數字字符,例如清理字符串或將錯誤信息記錄到日志中。