我正在编写一个简单的程序来计算员工的总收入。我正在读输入文件,然后计算总收入。出于某种原因,它只计算常规时间,但不计算加班时间。我试图在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));
}
}
}
}
答案 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。