某公司制定出一套加班超时费用计算规则如下:每月标准上班时间是160小时,每小时工资是30元。如果上班时间在160-200小时之间,超出部分每小时按1.5倍工资发放;如果上班时间在200小时以上,200小时以内按照以上规则计算,超出200小时部分按2倍工资发放。从键盘输入员工的工作时间值,根据输入的值计算出本员工应发放的工资。
1.2参考代码如下:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//salary代表应发工资,time代表工作时间
double time = 0,salary = 0;
System.out.print("请输入员工的工作时间(小时):");
Scanner sc = new Scanner(System.in);
time = sc.nextDouble();
if(time < 0) {
System.out.print("输入时间数据错误,请重新输入:");
time = sc.nextDouble();
}
if (time > 0 && time <= 160) {
salary= time *30;
} else if (time > 160 && time <= 200) {
salary = 160*30 + (time - 160)*30*1.5;
} else {
salary = 160*30 + 40*30*1.5+(time - 200)*30*2;
}
System.out.println("本员工应发工资为:" + salary);
}
}
1.3测试用例:(其他合理数据均给分)
用例 | 预期结果 |
1、输入的时间为负数:-8 | 提示错误,重新输入 |
2、输入150 | 输出4500 |
3、输入180 | 输出5700 |
4、输入220 | 输出7800 |
根据以上用例,写出测试结果的分析与总结