首页 > 代码库 > 第二次作业+105032014087
第二次作业+105032014087
1.由于测试人员未完成我的测试代码,所以就自我的看法做了一些修改。
代码如下:
import java.util.Scanner; public class CommissionTest { public static final float HEADPHONE_PRICE = 80;// 耳机单价 public static final float PROTCTOR_PRICE = 8;// 手机贴膜单价 public static final float MOBILESHELL_PRICE = 10;// 手机壳单价 public static final float MIN_RATE = 0.1f;// 不足1000的佣金比率 public static final float MID_RATE = 0.15f;// 1000-1800的佣金比率 public static final float MAX_RATE = 0.2f;// 超过1800的佣金比率 public static void main(String args[]) { while (true) { Scanner input = new Scanner(System.in); System.out.println("请分别输入三种手机配件的销售情况"); System.out.println("耳机销售情况:"); int headPhoneNum = checkNum(input.nextLine()); System.out.println("手机壳销售情况:"); int mobPhoneShellNum = checkNum(input.nextLine()); System.out.println("手机贴膜销售情况:"); int cellSrcProNum = checkNum(input.nextLine()); float commission = commission(headPhoneNum, mobPhoneShellNum, cellSrcProNum); System.out.println("收取的佣金为" + commission); System.out.println("是否退出?输入-1退出,按任意数字继续"); if (Integer.parseInt(input.nextLine()) == -1) { System.exit(1); } System.out.println("----------------------------------"); } } public static int checkNum(String num) {// 检查每次输入是否满足条件 Scanner input = new Scanner(System.in); while (true) { if(num.equals("")||num == null){ System.out.println("输入不为空,请重新输入"); num = input.nextLine(); } else if (!num.matches("^[0-9]*$")) { System.out.println("输入数量不满足要求,请重新输入"); num = input.nextLine(); } else { return Integer.parseInt(num); } } } // 计算佣金 public static float commission(int headPhone, int mobPhoneshell, int protctor) { float commission = 0;// 佣金 float headPhoneSale = headPhone * HEADPHONE_PRICE; float mobPhoneShellSale = mobPhoneshell * MOBILESHELL_PRICE; float protctorSale = protctor * PROTCTOR_PRICE; float totalSale = headPhoneSale + mobPhoneShellSale + protctorSale; if (totalSale < 1000 && totalSale > 0) { commission = totalSale * MIN_RATE; } else if (totalSale <= 1800) { commission = totalSale * MID_RATE; } else { commission = totalSale * MAX_RATE; } return commission; } }
2.心得体会:
原先没有做输入为空的控制,这次使用了nextLine进行接收输入数据,并对输入进行了判断。代码命名也更加规范化。
第二次作业+105032014087
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。