2016-10-05 21 views
-2

でPoint2Dを初期化する単純なリスト< Point2Dが宣言されている場合。List <>

例:

List<Point2D> listOfPoints; 

/* What I tried */ 
Point2D point1; 
listOfPoints.add(point1); 

しかし、私はのは(3,2)を言わせての座標持つことができるようにどのように1はpoint1を初期化していますか?

+0

上記のリンクを参照してください...このエラーを理解し、その例外が発生するすべての将来の時間に修正するために必要なすべてのツールを提供します... – Tunaki

+0

オブジェクトの構築は極端です基本的な仕事。人々があなたを助けるために時間を費やすことを期待する前に、研究に少し時間を費やしてください。 – shmosel

答えて

1

Point2Dのインスタンスを作成する必要があります。今、あなたのlistOfPointsnullを追加しています。さらに、listOfPointsは初期化されていないので、コードでNullPointerExceptionが生成されます。また

List<Point2D> listOfPoints = new ArrayList<>(); // or another List implementation class 

Point2D point1 = new Point2D.Float(3, 2); // or perhaps Point2D.Double 
listOfPoints.add(point1); 

を、あなたはPoint2D.FloatPoint2D.Doubleオブジェクトを持っていたら、あなたはxyフィールドに直接割り当てることによって、またはsetLocation()を呼び出し、座標を渡すことで、どちらか、明示的に座標を設定することができます。代わりにこれを試してみてください。

+0

ああ。私はあなたが何をしているかを見ます。親切に、ありがとうございます! – Jackson

1

あなたは試みることができる:

Point2D point1 = new Point2D.Double(3, 2); 

または

Point2D point1 = new Point2D.Float(3, 2); 

あなたはまた、例えば、あなたのリストを初期化したいと思うでしょう

List<Point2D> listOfPoints = new ArrayList<>(); 
listOfPoints.add(point1); 

単にnew Point2D(3, 2)を実行すると、Point2Dが抽象であるため動作しません。

関連する問題