接口实现,是怎么优化啊

修炼的隐者 2019-03-20 05:01:10
接口实现 飞机票定价系统的一个需求,用白盒测试方法进行测试。。需求如下: 乘客可以免费托运重量不超过30kg (含30kg)的行李。 假设行李超过30kg,其收费标准为: 头等舱国内乘客,超重部分每千克收费4元。 其他舱国内乘客,超重部分每千克收费6元。 外国乘客:超重部分每千克比国内乘客多1倍。 残疾乘客:为正常价格的半价。 行李重量超出部分,不满1kg的按照1kg计算。 import java.util.Scanner; public class Test02 { public void cabin() { double sum = 0;//行李费 double kg = 0.0;//超过30kg的行李重量 Scanner scanner = new Scanner(System.in); System.out.print("中国乘客选1,外国乘客选2 "); String people = scanner.next(); //Scanner cabin = new Scanner(System.in); Scanner cabin1 = new Scanner(System.in); System.out.print("头等舱乘客选3,其他舱乘客选4 "); String cabin = cabin1.next(); Scanner dis1 = new Scanner(System.in); System.out.print("正常乘客选5,残疾乘客选6 "); String dis = dis1.next(); while (true) {// 死循环 Scanner kg1 = new Scanner(System.in); System.out.println("请输入行李重量: "); Double kg = kg1.nextDouble(); Double kgg = Math.ceil(kg); int kgcopy = kgg.intValue(); // if(kgcopy != kg) { // kgcopy = kgcopy + 1; // } // if (kg <= 30.0) { System.out.println("行李没有超过30kg,不需要额外费用"); } else { if ("1".equals(people)) { if ("3".equals(cabin)) { if ("5".equals(dis)) { sum = (kgcopy - 30) * 4; } else if ("6".equals(dis)){ sum = (kgcopy - 30) * 2; } } else if ("4".equals(cabin)) { if ("5".equals(dis)) { sum = (kgcopy - 30) * 6; } else if ("6".equals(dis)){ sum = (kgcopy - 30) * 3; } } } else if ("2".equals(people)) { if ("3".equals(cabin)) { if ("5".equals(dis)) { sum = (kgcopy - 30) * 8; } else if ("6".equals(dis)){ sum = (kgcopy - 30) * 4; } } else if ("4".equals(cabin)) { if ("5".equals(dis)) { sum = (kgcopy - 30) * 12; } else if ("6".equals(dis)){ sum = (kgcopy - 30) * 6; } } } System.out.println("行李的重量" + kgcopy); System.out.println("花了" + sum + "元行李费"); } } } public static void main(String[] args) { Test02 t = new Test02(); t.cabin(); } }
...全文
30 1 收藏 回复
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复

还没有回复,快来抢沙发~

发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2019-03-20 05:01
社区公告
暂无公告