麻烦布尔和if语句

时间:2013-10-17 16:43:03

标签: java if-statement boolean

当我尝试这段代码时:

public boolean eligibleForBonus(double salary) {
    if(salary >=40000) {
        return true;
    }
    else {
        return false;
    }
    }   

@Override
public String toString() {
    if (eligibleForBonus()){
    return (code I want to return);
    }
    else {
    return (code I want to return);
    }
    }

我在(qualifiedForBonus())上收到错误,该错误说明“Employee(类)类型中的qualifiedForBonus(double)方法不适用于arguments()”。 我是编程的新手,我已经尝试了我能想到的一切,但我无法做到 - 任何帮助都将不胜感激!谢谢:))

5 个答案:

答案 0 :(得分:5)

eligibleForBonus()需要一个类型double的参数,如此处所声明的

public boolean eligibleForBonus(double salary) {}

答案 1 :(得分:0)

你必须给eligibleForBonus一个参数

e.g。

public String toString() {
    if (eligibleForBonus(100.0)){
    return (code I want to return);
    }
    else {
    return (code I want to return);
    }
    }

答案 2 :(得分:0)

你的方法eligibleForBonus(double salary)期望一个类型为double的参数但在此     if (eligibleForBonus()){你只是在没有任何争论的情况下调用这个方法     你需要传递一个参数,如if (eligibleForBonus(1.2)){

答案 3 :(得分:0)

您的方法eligibleForBonus需要参数(double salary)。在toString方法中,您在不传递任何参数的情况下调用该方法:if (eligibleForBonus())。这就是它的原因。传递有效参数,例如:

if (eligibleForBonus (1000.0))

答案 4 :(得分:0)

方法eligibleForBonus(double salary)检查奖金是否符合工资条件。但是当你调用这种方法时,你不会“交出”工资,因此你得到一个例外。如果薪水是例如2000使用  if(elibibleForBonus(2000))