整数解析不起作用

时间:2015-12-27 21:23:13

标签: java

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);它没有正常工作。我将此传递给方法&#34; 435435332&#34;并将它打印回给我&#34; 111111111&#34;

3 个答案:

答案 0 :(得分:4)

您未以任何方式向x添加val。你只是增加10的权力。

答案 1 :(得分:1)

val += times;更改为val += x;

答案 2 :(得分:0)

我会这样写:

dot