これは宿題の問題であり、クラス Distance で .add() メソッドを作成する方法を理解するのに苦労しています。
クラス Distance には 2 つの整数インスタンス変数があります。
private int feet;
private int inches;
Distance を 0 フィートおよび 0 インチで初期化する引数なしのコンストラクターがあります。
フィートとインチの 2 つの正の整数を受け入れる 2 つの引数のコンストラクターがあり、それらが負の場合、またはインチが 11 より大きい場合は例外をスローします。
インスタンス変数の get/set メソッドもあります。私の取得/設定方法:
public void setFeet(int f){
feet = f;
}
public void setInches(int in){
inches = in;
}
public int getFeet(){
return feet;
}
public int getInches(){
return inches;
}
喜んで答えてくれる人への私の最初の質問: これは、これらの get/set メソッドを設定する方法ですか? 私は自分自身に自信がありません。
私の 2 番目の問題は、別の Distance オブジェクトをそれ自体に追加するメソッド add() を作成することです。あれは、
w1 = new Distance(4,9);
w2 = new Distance(3,6);
w1.add(w2); //w1 becomes 8 feet, 3 inches.
これまでのところ、私はこれを持っています:
public int add(Distance d) {
int df = d.getFeet();
int di = d.getInches();
int a = this.feet;
int b = this.inches;
int c = a.getFeet();
int d = b.getInches();
int sumInches, sumFeet, temp;
sumInches =di + d;
sumFeet = df + c;
if (sumInches>11) {
temp = sumInches-11;
sumFeet = sumFeet+1;
sumInches = temp;
}
this.feet = sumFeet;
this.inches = sumInches;
}
しかし、これがコンパイルされるかどうかはわかりません (現在、コンパイラをインストールできるコンピュータにアクセスできません)。誰かがこれを調べて、なぜこれが間違っているのか説明してもらえますか?