我正在编写一个简单的程序来计算员工的总收入。我正在读取输入文件,然后计算总收入。由于某种原因,它仅计算正常时间,而不计算加班时间。我试图将if if else嵌套在while循环中。任何建议都很好,谢谢!

 public static void main(String[] args)
    {
        InputFile payroll;
        payroll = new InputFile("payroll.txt");

        String name, hours, payrate;
        Double p, h, finalpay;

        DecimalFormat numFormat;
        numFormat = new DecimalFormat("0.00");



        while(!payroll.eof())
        {
            name = payroll.readString();
            hours = payroll.readWord();
            payrate = payroll.readWord();
            p = Double.parseDouble(payrate);
            h = Double.parseDouble(hours);
            if ( h > 40)
            {

                finalpay = (p * 40) + (( (h - 40) * 1.5) * p );
                System.out.println(name + " " + "gross pay is: " + numFormat.format(finalpay));
            }
            else
            {
                finalpay = (p * h);
                System.out.println(name + " " + "gross pay is: " + numFormat.format(finalpay));
            }

        }

    }
}

最佳答案

根据注释中提供的输入文件:

"Bob Jones" 10.25 40.00 "Sam Smith" 15.00 45.50 "Jodi White" 20.50 32.25


您的程序无法按预期运行,因为该列表中没有雇员工作超过40小时。 10.25、15.00和20.50均小于40。

10-08 08:48