まずは、読んでいただきありがとうございます!カスタムサブクラスのインスタンスを作成中にNullReferenceを取得する
私はPhoneというスーパークラスを作成し、LG、Samsung、Huaweiの3つのサブクラスを作成しました。私はこのMVCスタイルをやろうとしていたので、コントローラパッケージに行ってコードをテストし、作成したすべてのクラスをインポートして、どのサブクラスを作成するかを指定するStringを入力してインスタンス化できました。 プログラムを実行して名前を正しく入力した後、NullReferenceを取得しました。私はデバッグを開いて、 'p'(ループに使用された変数)がインスタンス化されていないことを発見しました。
どのように表示されますか?どんな助けでも大歓迎です!
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Phone[] phones = new Phone[3];
for(Phone p : phones){
System.out.println("What brand?");
String inputBrand = scan.nextLine();
switch(inputBrand) {
case "LG" : p = new LG();
break;
case "Samsung" : p = new Samsung();
break;
case "Huawei" : p = new Huawei();
break;
default : System.out.println("You're an idiot");
break;
}
}
for(Phone p : phones){
System.out.println(p.toString());
}
scan.close();
}
'System.out.println("あなたはばかだよ ");' –