簡體   English   中英

線程“AWT-EventQueue-0”中的異常java.lang.NullPointerException Java GUI錯誤

[英]Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException Java GUI Error

我想在java中設計一個計算器。 我的代碼還沒有完成,但我設計了一個GUI,除了我試圖實際計算結果時,它的工作原理。 當我在我的計算器上按“=”時,我收到上述錯誤。 這是我的代碼:

問題已解決

我知道這是很多代碼,所以我很抱歉,我也意識到可能還有其他錯誤,因為我對Java很新,我只是非常堅持我目前得到的錯誤並且不知道如何解決它,感謝任何幫助將不勝感激。

您永遠不會初始化calcOperands - 所以在第60行,當您使用時:

calcOperands.add(operand);

... calcOperands仍為null,導致異常。 看起來你的其他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是什么意思嗎? (如果沒有,你有沒有想過要知道?)現在你知道了實際的答案,值得思考你自己如何實現它 - 診斷問題是軟件開發的一個重要部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM