public static int parseInt(String s) {
int val = 0;
for (int i = s.length() - 1, times = 1; i >= 0; i--, times *= 10) {
char c = s.charAt(i);
int x = c - '0';
if (x >= 0 && x < 10)
;
else
throw new NumberFormatException("not an int '" + c + "'");
x *= times;
val += times;
}
return val;
}
我正在制作自己的 int 解析器,例如 Integer.parseInt(String);它不能正常工作。我将其传递给方法“435435332”,它会将其打印回给我“111111111”
最佳答案
您没有以任何方式将 x
添加到 val
上。您只是添加 10 的幂。
关于java - 整数解析不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34484958/