-3

以下の toString メソッドで使用する適格な ForBonus() の出力を取得するにはどうすればよいですか。「this.isBonus」をプレースホルダーとして使用しましたが、isBonus はクラスの変数ではないため機能しません。

public String eligibleForBonus(double salary){ 

    String isBonus;

    if (salary >= 40000) {
      isBonus = "is";
    } 
    else {
      isBonus = "is not";
    }
    return isBonus; 
    }

  }

@Override
public String toString() {
      return this.forename + " " + this.surname + " (" + this.id + "): " + this.companyPosition + " at " + this.salary + " and " + this.isBonus + " eligible for bonus.";

 }
4

1 に答える 1

3

Rohit が言うように、メソッドを呼び出して戻り値を取得するだけです。

return this.forename + " " + this.surname + " (" + this.id + "): " + this.companyPosition + " at " + this.salary + " and " + this.eligibleForBonus(this.salary) + " eligible for bonus.";

いくつかの意見:

  1. Rohit が示唆するように、ブール値を返す (そして三項演算子を使用してテキストを生成する) 方がクリーンです。
  2. クラスがプロパティとして給与を持っている場合、なぜそれをメソッドに渡す必要があるのでしょうか?
于 2013-10-18T15:46:58.700 に答える