java - 线程中出现异常 "AWT-EventQueue-0"java.lang.NullPointerException Java GUI 错误

标签 java user-interface nullpointerexception

我正在尝试用java设计一个计算器。我的代码尚未完成,但我设计了一个 GUI,除了当我尝试实际计算结果时之外,它都可以工作。当我在计算器上按“=”时,我收到上述错误。这是我的代码:

问题已解决

我知道这是很多代码,所以我对此感到抱歉,而且我也意识到其中可能还有其他错误,因为我对 Java 还很陌生,我只是对我遇到的错误感到非常困惑目前不知道如何修复它,非常感谢您的帮助。

最佳答案

你永远不会初始化calcOperands - 所以在第 60 行,当您使用:

calcOperands.add(operand);

... calcOperands仍然为空,导致异常。看来您的其他 ArrayList 也有同样的问题变量。您可以创建一个新列表作为声明的一部分 - 我还将变量本身更改为 List<E> ,像这样:

private final List<Double> calcOperands = new ArrayList<Double>();
private final List<String> calcOperators = new ArrayList<String>();
private final String stringInput;
private final List<Integer> priorityList = new ArrayList<String>();
private String[] splitString;

当然,我也将大部分变量设置为最终变量。您可能需要考虑是否真的想要 splitString是可变的,仅当您调用 checkInput 时才设置...

(我没有查看您的其余代码。)

除了解决这些问题之外,您还应该退后一步,考虑一下诊断方面的问题。当你试图找出问题所在时,你卡在了哪一点上?您是否查看了堆栈跟踪并将问题定位到 StringCalculator.java第 60 行?你明白什么吗NullPointerException方法? (如果没有,您是否试图找出答案?)既然您知道了实际的答案,那么值得考虑一下您自己如何才能达到这个答案 - 诊断问题是软件开发的重要组成部分。

关于java - 线程中出现异常 "AWT-EventQueue-0"java.lang.NullPointerException Java GUI 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20548560/

相关文章:

java - java中的存款证明公式

Java简单形状程序

java - 处理用户的输入?

java - 从命令行而不是从 IDE 运行 JAR 时,什么会导致 NullPointerException?

java - 为什么当我尝试在 Firebase 数据库中写入时出现此错误?与 FirebaseApp$IdTokenListener 相关

java - Wicket 的 @SpringBean 和请求作用域对象

java - 使用可视化 GUI 编辑器对学习 GUI 设计有害吗?

c++ - CS高级项目思路涉及Unix系统编程

java - 为什么我的二叉搜索树删除不起作用?

java - 使用 SimpleMailMessage() 发送邮件时 Spring 中的 NullPointerException