Java,通过在while循环中嵌套if if else来计算总收入

时间:2014-07-24 18:37:21

标签: java

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

 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));
            }

        }

    }
}

1 个答案:

答案 0 :(得分:8)

根据评论中提供的输入文件:

"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。