toString java?如何获取要在toString中使用的方法的返回?

时间:2013-10-18 15:44:33

标签: java if-statement tostring

如何在下面的toString方法中使用qualifiedForBonus()的输出。我使用“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.";

 }

1 个答案:

答案 0 :(得分: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. 如果班级有薪水作为财产,你为什么要把它传递给方法?