0

この長さと引数のサイズの合計と同じサイズの新しい長さを返す add(Length) メソッドを作成する必要があります。double または Length を返す必要があるかどうか、および追加する方法がわからない

public class Length implements Comparable<Length>{

    private final double length; //private!  Do NOT add a getter

    // This constructor must remain private
    private Length(double l){
        length = l;
    }
    public double add(Length l){
        return ;
    }
    public double subtract(Length l){

    }
    public double scale(double d){

    }
    public double divide(Length l){

    }
    public double Length(Position one, Position two){

    }
    // TODO: For all constants, have a line:
    // public static final Length ... = new Length(...);


    // Use the @Override annotation on all methods
    // That override a superclass method.
    @Override
    public boolean equals(Object other){
        //TODO
    }

    @Override
    public int hashCode(){
        //TODO
    }

    @Override
    public String toString(){
        //TODO
    }

    // If you are overriding a method from an interface, then Java 5
    // says you CANNOT use Override, but Java 6 says you MAY.  Either is OK.
    // @Override
    public int compareTo(Length other) {
        //TODO
    }

    // TODO Write the rest of the methods for this class, and
    // the other two classes.

}
4

1 に答える 1

1

要件によって異なりますが、通常は新しいLengthオブジェクトを返します。

public Length add(Length other){
    // check that other is not null
    return new Length(this.length + other.length);
}

他のすべての数学的方法についても同様のことを行います。

Rohit がコメントで述べているように、lengthフィールドを変更できるメソッドがないため (代わりに新しいLengthオブジェクトを返す)、クラスは不変になります。

于 2013-09-05T18:24:12.620 に答える