计算每周工资

时间:2017-01-30 17:12:59

标签: java

这是代码:

    double calculateWeeklyPay(double hoursWorked)
{
    double pay;
    if(hoursWorked > 40)
    {
        double overtime = hoursWorked - 40;
        pay = (40 * hourlyPayRate) + (overtime * hourlyPayRate);
        return pay;
    }else pay = hoursWorked * hourlyPayRate;
    return pay;
}

我试图用这个:

        System.out.println("Weekly pay: $" + aaron.calculateWeeklyPay(46));

但它只返回0美元,我不知道为什么?谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

我假设hourlyPayRate为0.您将两次乘以hourlyPayRate并添加它们,因此如果变量为0,结果将始终为0(任何时候0 = 0)。

我只能在不阅读更多代码的情况下猜测,但我假设您在构造函数中将此值设置为0,因此您可能希望在构造函数中添加另一个参数。

示例:

我相信你有:

public Employee() 
{
    this.hourlyPayRate = 0;
}

你应该拥有什么:

public Employee(double hourlyPayRate) //Also any arguments you already had.
{
    //Your current code
    this.hourlyPayRate = hourlyPayRate;
}

答案 1 :(得分:0)

我看不出为什么会得到" 0"背部。也许你的hourlyPayRate为零?它是全球变量吗?

本守则运作良好:

class workPay {
double calculateWeeklyPay(double hoursWorked, double hourlyPayRate)
{
    double pay;
    if(hoursWorked > 40) 
    {
        double overtime = hoursWorked - 40;
        pay = (40 * hourlyPayRate) + (overtime * hourlyPayRate);
        return pay;
    } else pay = hoursWorked * hourlyPayRate;
    return pay;
}   

public void main(String[] args) {
    System.out.println(calculateWeeklyPay(46, 80));
    }
}