Java:带有子字符串的 NullPointerException

标签 java exception

我的一种方法遇到问题。请记住,我正在大学学习 Java,因此我可能无法跟上简单事物的发展速度。下面是添加表达式的方法。我遇到的问题是在 x = x.substring.(1, x.length() - 1); 处找到的我收到一个异常,内容如下:

Exception in thread "main" java.lang.NullPointerException

我不知道这意味着什么和/或如何解决它。如果你能指出我正确的方向,那就太好了。 谢谢。

public static int adder(String x){
    int total = 0;
    x = x.substring(1, x.length() - 1);
    sopln(x);
    String[] nums = x.split("\\+");
    for(int i = 0; i < nums.length; ++i){
        if(nums[i].charAt(0) == ' ' || nums[i].charAt(nums[i].length()-1) == ' '){
            sopln("ERROR: Excess whitespace identified.");
            nums[i] = nums[i].trim();
        }
        nums[i] = nums[i].replaceAll(" ", "");
        if(nums[i].charAt(0) == '-')
            total -= Integer.parseInt(nums[i]);

        else
            total += Integer.parseInt(nums[i]);
    }
    return total;

}

最佳答案

这可能意味着您的字符串 x 为 null,并且实际上并未设置为字符串的对象。

你如何调用该方法?

当您使用像

这样的硬编码字符串调用它时,会发生这种情况吗?
int num = adder("string checking in");

如果不是,那么在代码上游的某个地方,您传递给 adder 方法的 String 变量为 null。

关于Java:带有子字符串的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18948977/

相关文章:

java - 为什么可以使用默认参数而不是方法调用 kotlin 的构造函数?

java - 添加新字段或更改所有 Firestore 文档的结构

php - dns_get_record() : A temporary server error occurred.

java - Java 抛出异常错误

java - 当我在 Web 应用程序中保留 spring-servlet.xml 时,applicationContext.xml 未加载

java.lang.OutOfMemory错误: Java heap space on writing to outputstream

java - 将 printStackTrace() 用于 caugt 异常是一个坏主意吗?

java - UnexpectedRollbackException - 完整的场景分析

java - 打开 .java 文件并像在 Eclipse 的控制台中一样运行的程序

java - 在哪里检查值并抛出异常