方法无法正常运行

时间:2012-12-08 18:44:12

标签: c# methods

此方法是较大程序的一部分,该程序从.txt文件中提取员工数据,然后使用该数据计算净工资。 我的CalcPay方法应该算几小时付费> 40以及小时< 40,但当它超过40个小时的员工时,它只需要工资小时*工资,而不是花费数小时> 40,并使他们成为一个半...任何建议?

public double CalcPay()
    {

        double pay = hoursWorked * hourlyWage;
        double overTimeHours = hoursWorked - FULL_TIME;

        if (overTimeHours > 0)
        {
            pay += overTimeHours * (hourlyWage * OVER_TIME_RATE);
        }
        double tax1 = pay * FED_TAX;
        double tax2 = pay * STATE_TAX;
        return ((pay - tax1) - tax2);
    }

2 个答案:

答案 0 :(得分:1)

我可能会做这样的事情。

 public double CalcPay()
    {
        double regularHours = Math.Min(hoursWorked, FULL_TIME);
        double overTimehours = Math.Max(hoursWorked - FULL_TIME, 0);

        double regularPay = regularHours * hourlyWage;
        double overTimePay = overTimehours * hourlyWage * OVER_TIME_RATE;
        double pay = regularPay + overTimePay;

        double tax1 = pay * FED_TAX;
        double tax2 = pay * STATE_TAX;
        return ((pay - tax1) - tax2);
    }

答案 1 :(得分:0)

我已经解决了这个问题,正如许多人指出的那样,该方法可以正常工作,我正在按顺序读取输入,导致输出在加班时出错。感谢所有提供帮助的人。