0
私はJavaの学習を始めて、小さな問題があります。私はクラスを持っています。ポイントとabc:Java、配列作成のトラブル
static class Point
{
int x;
int y;
Point(int x, int y)
{
this.x = x;
this.y = y;
}
}
static class abc
{
abc()
{
Scanner s = new Scanner(System.in);
Point[] p = new Point[2];
for (int i = 0; i < 2; ++i) {
p[i].x = s.nextInt();
p[i].y = s.nextInt();
}
}
}
しかし、クラスabcの初期化は機能しません。最初の番号を書き込もうとすると、次のようになります。
Exception in thread "main" java.lang.NullPointerException
at main$abc.<init>(main.java:91)
at main.main(main.java:99)
これを機能させるにはどうしたらよいですか?
へ
変更
あなたはNPEを解決する必要があります。それを投げるのはどんな線ですか? – Stultuske
'p [i]'にアクセスする前に、 'p [i] = new Point(x、y)'として最初に配列の 'Point'の各インスタンスを初期化する必要があります。 – SomeJavaGuy
参照の配列を作成しても、オブジェクト参照は作成されません。これを見るには、IDEでデバッガを使用して、このエラーが発生したときに何が起きているのかを理解することができます。 –