q1とq2の二点間の距離の実行結果が異なっているため、クラスPoint2Dをinstnaceof演算子を用いて修正を行い、二点間の距離の実行結果を同じにしたいです。
ソースコード
public class Point {
protected int x =1;
Point(){}
Point(int x){this.x=x;}
double distance() {return Math.sqrt(xx);}
double distance(Point b) {
int dx;
dx = this.x-b.x;
return Math.sqrt(dxdx);
} public String toString() { return String.format("(%d)", x); }
}
public class Point2D extends Point {
protected int y = 1;
Point2D(){}
Point2D(int x,int y){super(x);this.y=y;}
double distance() {return Math.sqrt(xx+yy);}
double distance(Point2D b) {
int dx,dy;
dx=this.x-b.x;
dy=this.y-b.y;
return Math.sqrt(dxdx+dydy);
}
public String toString() {return String.format("(%d,%d)", x,y);}
}
public class PointTester {
public static void main(String[] args) { Point2D q1=new Point2D(1,-1); Point q2 = new Point2D(0,1); System.out.println("二点間の距離は"+q1.distance(q2)); System.out.println("二点間の距離は"+q1.distance((Point2D)q2)); }
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。