- メンバーを非アクティブ状態で比較して印刷しようとしています。問題は、配列を検索して各要素の状態をチェックしないということです。最初の要素のステータスが「アクティブ」の場合は、エラーメッセージが出力され、他の要素のチェックは続行されません。
最初の要素の状態は、それが印刷される「非アクティブ」であるが、このような出力前に例外をスローする場合: GymAss.MemberTestのスレッド「メイン」のjava.lang.NullPointerExceptionでメンバーを非アクティブ状態で比較して印刷しようとしています。
例外1名前:1日:1つの状態:不活性型:1どれ ヘルプは大いにだろう GymAss.MemberTest.main(MemberTest.java:58)
口座番号で.AllInactive(MemberTest.java:293)感謝!以下のコード:
....
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ですか?あなたはデバッガに歩み寄り、この行のどの変数が 'ヌル 'であるかを確認します。 – amit
なぜ同じ条件を2回おこなっているのですか? –
私はもともとwhile(accounts [check]!= null)でしたので同じ条件を2回使用します。私は迷惑だったエラーステートメントを無限ループにします。 – jibbajava