package code;
public class Solution3 {
public static int sumOfDigit(String s) {
int total = 0;
for(int i = 0; i < s.length(); i++) {
total = total + Integer.parseInt(s.substring(i,i+1));
}
return total;
}
public static void main(String[] args) {
System.out.println(sumOfDigit("11hhkh01"));
}
}
如何编辑我的代码让它忽略任何字符,但仍然总结输入的数字?错误为Exception in thread "main" java.lang.NumberFormatException: For input string: "h"
答案 0 :(得分:0)
因为以下代码行将抛出NumberFormatException:
Integer.parseInt("h");
Integer.parseInt
不知道如何解析字母'h'中的数字。
忽略任何不是数字的字符:
for(int i=0; i<s.length(); i++){
try {
total = total + Integer.parseInt(s.substring(i,i+1));
catch(NumberFormatException nfe) {
// do nothing with this character because it is not a number
}
}