私は自分のプログラムコードをC言語で記述していましたが、Javaに移行してシンプルな構造体を定義し、以下のコードでその構造体を作成しようとしましたが、が発生する スレッド "main"の例外java.lang.NullPointerException at CPoint.main(CPoint.java:19) 私はどこかの配列にメモリを割り当てなければならないが、どこにはわからない。すべてのヘルプは理解されるであろう。Java:ユーザ定義の構造体の配列を定義する
public class CPoint {
public int x;
public int y;
public CPoint(int size){
System.out.println("Constructor1 is called");
}
public CPoint(){
System.out.println("Constructor2 is called");
}
public static void main(String[] args){
CPoint [] p = new CPoint [3];
p[0].x=90;p[0].y=80; // this is line 19
System.out.println(p[0].x);
}
}
PS。可能であれば、main()コードを可能な限りシンプルに保ちたいと思います。
:
あなたはこの簡潔な方法で配列を初期化することができます可能であれば –
@Cgraphics、それは不可能です。しかし、配列の初期化をインライン展開することができます。 – Moonbeam
@Cgraphicsあなたができることは、配列の周りにクラスラッパーを作成することです - これは本当に良いJavaの練習ではありませんが。要素の数を渡すクラスを1つ作成してから、コンストラクタで配列を割り当てて、各要素をループに割り当てます。ここでも、これはJavaでは実際には良い習慣ではありません。 –