java - 整数解析不起作用

标签 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);它不能正常工作。我将其传递给方法“435435332”,它会将其打印回给我“111111111”

最佳答案

您没有以任何方式将 x 添加到 val 上。您只是添加 10 的幂。

关于java - 整数解析不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34484958/

相关文章:

Java:如何创建一个仅在其实例不存在时启动并在实例存在时调用该实例的应用程序?

Java:避免在 arraylist 中插入重复项

java - 使用 XSTREAM 将 XML 解析为 ArrayList

java - 按 T​​ab 键时 Silk4J 对象映射编辑器中出现 NullPointerException

java - 对于(对象对象 : list) [java] and index element

java - 将 wav 转换为倒谱导致 Shpinx 4 关键字识别功能的低准确性

java - 各种场景下的动静态问题(Java)

Java 包不公开,包外无法访问

java - java线程间通信

java - Android (Java) 转换 hh :mm:ss time String into a number representation