我正在编写一个简单的程序来计算员工的总收入。我正在读取输入文件,然后计算总收入。由于某种原因,它仅计算正常时间,而不计算加班时间。我试图将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。