(0,0)
からthis
点までの距離を返し、距離法はthis
からp
までの距離を返します。私は、Javaとジェネリッククラス/メソッドの初心者です。私の距離の方法にはエラーがありますが、私は正しい道にいると思います。 CharNumber
のメソッドは、プライベートフィールドaChar
の値を返し、数値に変換する必要があります。一般的なクラス/メソッドを使用した3点間の距離
public class Point <T extends Number> {
private T x;
private T y;
public Point(T x, T y){
}
public T getX() {
return x;
}
public T getY() {
return y;
}
public double radius(){
return Math.sqrt(
Math.pow(x.doubleValue() - 0.0, 2)
+ Math.pow(y.doubleValue() - 0.0,2));
}
public double distance(Point p){
return Math.sqrt(
Math.pow(this.x.doubleValue() - p.getX(), 2)
+ Math.pow(this.y.doubleValue() - p.getY(), 2));
}
@Override
public String toString() {
return "Point{"
+ "x=" + x
+ ", y=" + y + "}";
}
}
public class CharNumber extends java.lang.Number {
private char aChar;
public CharNumber(char c){// FIXME: 10/10/16
}
@Override
public String toString() {
return "CharNumber{"
+ "aChar=" + aChar + "}";
}
@Override
public int intValue() {
return 0;
}
@Override
public long longValue() {
return 0;
}
@Override
public float floatValue() {
return 0;
}
@Override
public double doubleValue() {
return 0;
}
}
UPDATED Pointクラス
public class Point <T extends Number> {
private T x;
private T y;
public Point(T x, T y){
this.x = x;
this.y = y;
}
public T getX() {
return x;
}
public T getY() {
return y;
}
public double radius(){
return Math.sqrt(Math.pow(x.doubleValue()-0.0, 2)+Math.pow(y.doubleValue()-0.0,2));
}
public double distance(Point<Number> p){
return Math.sqrt(Math.pow(this.x.doubleValue() - p.getX().doubleValue(),2)
+ Math.pow(this.y.doubleValue() - p.getY().doubleValue(),2));
}
@Override
public String toString() {
return "Point{" +
"x=" + x +
", y=" + y +
'}';
}
public static void main(String args[]){// FIXME: 10/10/16
Point<Integer> p = new Point<>(1,1);
Point<Double> p2 = new Point<>(2.5,3.4);
Point<CharNumber> p3 = new Point(5,6);
System.out.println(p);
System.out.println(p2);
System.out.println(p3);
}
} 私は私の主な方法での距離と半径方法どのように呼ぶのですか?
'p.getX()。doubleValue()'と 'p.getY()。doubleValue()'を使います。 – msandiford
this.x.doubleValue() - p.getX()、2? – Rawsick
'p.getX()'を使う代わりに 'p.getX()。doubleValue()'を使う必要があります。 Y値についても同様です。 – msandiford