前提・実現したいこと
Lineクラスから
Pointクラスを利用して
始点データと終点データを使い、以下の計算式で算出した結果を返したいです。
(( 終点のx座標 - 始点のx座標 ) ^2
+ ( 終点のy座標 - 始点のy座標 ) ^2 ) の平方根
累 乗...Math.powメソッド
平方根...Math.sqrtメソッド"
うまくいかないです。
エラーを解決したいですが、どこが違うのか見当がつかないです。
発生している問題・エラーメッセージ
Eclipse にて
return Math.sqrt(Math.pow(getX(x2)-getX(x1)+Math.pow(getY(y2)-getY(y1))));
の行で以下のエラーメッセージが出ています。
「この行には複数マーカーがあります。 x2を変数に解決できません。 x1を変数に解決できません。 y2を変数に解決できません。 y1を変数に解決できません。 」
該当のソースコード
Java
ソースコード
public class Point{
private int x;
private int y;
public Point() { this.x =0; this.y =0; } public Point(int x,int y) { this.x= x; this.y= y; } public int getX() { return this.x; } public void setX(int x) { this.x= x; } public int getY() { return this.y; } public void setY(int y) { this.y=y; }
}
public class Line implements Figure{
private Point p1 =new Point(); private Point p2 =new Point(); public Line(){ this.p1=new Point(); this.p2=new Point(); } public void Line(int x1,int y1,int x2,int y2){ this.p1 = new Point(x1, y1); this.p2 = new Point(x2, y2); } public void draw() { System.out.println("[線を描画]始点"+this.p1+"から終点+"+this.p2 +"まで"); } public double getPerimeter(){ return Math.sqrt(Math.pow(getX(x2)-getX(x1)+Math.pow(getY(y2)-getY(y1)))); }
}
試したこと
return Math.sqrt(Math.pow(setX()-setX()+Math.pow(setY()-setY())));
に修正したりしましたが解消できませんでした。
補足情報(FW/ツールのバージョンなど)
Pointクラスは
・座標位置情報を表すクラス
Lineクラスは
・2つの座標データを指定することで、線を描画するクラス
・線描画メソッド
・線の長さを取得するメソッド
回答1件
あなたの回答
tips
プレビュー