- 試圖僅比較和打印具有不活動狀態的成員。問題是它不會搜索數組並檢查每個元素的狀態。如果第一個元素具有「活動」狀態,則會打印錯誤消息並且不會繼續檢查其他元素。
如果第一個元素的狀態爲「無效」,將打印,但它看起來像這樣在輸出之前拋出一個異常:試圖比較和打印僅非成員狀態的成員
異常線程「main」顯示java.lang.NullPointerException在 GymAss.MemberTest .AllInactive(MemberTest.java:293)在 GymAss.MemberTest.main(MemberTest.java:58)
帳戶號碼:1名:1日期:1種狀態:閒置類型:1分的任何 幫助將不勝不勝感激!下面的代碼:
....
public static void AllInactive()
{
int check=0;
do
{
if (accounts[check] instanceof Student && accounts[check].getStatus().equals("INACTIVE"))
{
System.out.printf("\nAccount Number: %d \nName: %s \nDate: %d \nStatus: %s \nType: %s \n" , accounts[check].getIdNumber(),accounts[check].getName(),accounts[check].getDateJoined(),accounts[check].getStatus(),accounts[check].getMemberType());
check++;
}
else if (accounts[check] instanceof Adult && accounts[check].getStatus().equals("INACTIVE"))
{
System.out.printf("\nAccount Number: %d \nName: %s \nDate: %s \nStatus: %s \nType: %s \n" , accounts[check].getIdNumber(),accounts[check].getName(),accounts[check].getDateJoined(),accounts[check].getStatus(),accounts[check].getMemberType());
System.out.print("\n");
check++;
}
else
{
System.out.println("**Account Does Not Exist**");
}
} while (accounts[check].getStatus().equals("INACTIVE"));
}
哪條線是293?你用調試器調試一下,並檢查這一行中哪個變量爲'null'。 – amit 2012-03-24 23:45:29
爲什麼你做同樣的情況兩次? – 2012-03-24 23:49:13
我使用相同的條件兩次,因爲我最初有(帳戶[檢查]!=空);它會無限循環令我討厭的錯誤陳述。 – jibbajava 2012-03-24 23:58:14