0
我在寫一篇軟件,需要在另一個文件中使用一個類。當我運行程序並放入一個值時,我在線程「main」java.lang.NullPointerException類中得到錯誤Exception。 這裏是我的代碼:線程「main」中的異常java.lang.NullPointerException類
package chap8lab.salesperson;
import javax.swing.JOptionPane;
public class Chap8LabSalesPerson {
public static void main(String[] args) {
final int LIMIT = 10;
Salesperson[] peep = new Salesperson[LIMIT];
int i = 0, a = 0;
String q = "q", strInput = "";
JOptionPane.showMessageDialog(null,
"This program collects salesperson data.");
while (!strInput.equals(q))
{
strInput = JOptionPane.showInputDialog(null,
"Enter sales person ID (\"q\" to quit)");
if (!strInput.equals(q) && !strInput.matches("[a-z][A-Z]"))
peep[i].setEmpID(Integer.parseInt(strInput));
if (!strInput.equals(q))
strInput = JOptionPane.showInputDialog(null,
"Enter sales amount (\"q\" to quit)");
if (!strInput.equals(q) && !strInput.matches("[a-z][A-Z]"))
peep[i].setSalesAmt(Double.parseDouble(strInput));
i++;
if (strInput.equals(q))
i--;
}
while (a < i)
{
JOptionPane.showMessageDialog(null,
"Employee ID: " + peep[a].getEmpID()
+ " Sales Ammount: " + peep[a].getSalesAmt() + "\n");
a++;
}
JOptionPane.showMessageDialog(null,
"Thank you for using this program.\nHave a nice day!");
}
}
這裏是我的類文件Salesperson.java:
package chap8lab.salesperson;
public class Salesperson {
private int empID;
private double salesAmt;
public Salesperson()
{
empID = 9999;
salesAmt = 0;
}
public void setEmpID(int newEmpID)
{
empID = newEmpID;
}
public int getEmpID()
{
return empID;
}
public void setSalesAmt(double newSalesAmt)
{
salesAmt = newSalesAmt;
}
public double getSalesAmt()
{
return salesAmt;
}
}
任何幫助是極大的讚賞。
我掛將解釋的NPE是什麼,更重要的是,如何通過閱讀堆棧跟蹤診斷問題的問題,一些合乎邏輯的推論。 – 2014-12-05 01:42:05