Javaを勉強し始めたばかりの初心者です。
コンストラクタの初期化イメージを教えてください。
発生している問題・エラーメッセージ
以下のような形で「test[i] = new testC();」をせずにRunしたところ、NullPointerExceptionが発生。
ネットで調べてNullを初期化する必要があるということで入れましたが、これを入れた後、このStringやIntが入り混じった
test[]がコンストラクタでどうやって初期化されていくかイメージがわきません。
(そもそも一行目の「testC[] test= new testC[3]」で初期化されているイメージでした。)
また一方でこういった初期化をせずに「testC[] test= new testC[3]」
だけで直接値を入れても問題ないこともありましました。
問題が見えておらず、別なところで初期化ができていただけなのかもしれませんが、
この部分のアドバイスをいただければ幸いです。
testC[] test= new testC[3];
for (int i = 0; i < 3; i++) {
test[i] = new testC(); // --> コンストラクタで初期化 → 初期化のイメージがわきません。
}
for (int i = 0; i < 3; i++) {
test[i].Name = test[i4]; //String でtest[i]へ格納
test[i].qty = Integer.parseInt(test[(i4)+1].trim()); //Int でtest[i]へ格納
test[i].unit = test[(i4)+2]; //String でtest[i]へ格納
test[i].unitPrice = Float.parseFloat(test[(i4)+3].trim()); //Float でtest[i]へ格納
}
public class testC {
String Name;
int qty;
String unit;
float unitPrice;
testC(){ } testC (String Name , int qty , String unit , float unitPrice) { this.Name = Name; this.qty = qty; this.unitPrice = unitPrice; this.unit = unit; }
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/21 16:30
2019/09/21 16:34
2019/09/21 16:42
2019/09/21 16:47 編集
2019/09/21 17:01 編集
2019/09/21 17:21
2019/09/21 17:23
2019/09/21 18:43
2019/09/23 05:02
2019/09/23 17:19 編集
2019/09/25 12:31