第二次作业+105032014162
1.测试帖链接:http://www.cnblogs.com/trottuer/p/6604676.html
2.测试人员提出的问题、发现的缺陷
(1)在输入销售量后,应对销售量的值进行判断是否符合要求,若不符合应要求重新输入。
可加上如下代码:if (H>=0&&S>=0&&P>=0){}
(2)在销售量>1800时,计算销售额的公式应改为:
Yongjin = 100 + 800* 0.15 + (AllMony - 1800) * 0.2;
3.修正后的代码清单
1 import java.util.Scanner;
2
3 public class Caculator {
4 public static float commission(int Headphone,int Shell,int Protector){
5 int All = Headphone*80+Shell*10+Protector*8;
6 float commission = 0;
7 if(All<1000&&All>=0)
8 {
9 commission = (float) (All*0.1);
10 System.out.println("本次销售所得佣金为:"+commission);
11 }
12 else if(All>=1000 && All<=1800)
13 {
14 commission = (float) (100+(All-1000)*0.15);
15 System.out.println("本次销售所得佣金为:"+commission);
16 }
17 else if(All>1800)
18 {
19 commission = (float) (100+800*0.15+(All-1800)*0.2);
20 System.out.println("本次销售所得佣金为:"+commission);
21 }
22 return commission;
23 }
24 public static void main(String[] args){
25 while(true)
26 {
27 int Headphone=0;
28 int Shell=0;
29 int Protector=0;
30 Scanner scanner=new Scanner(System.in) ;
31 try{
32 System.out.println("请输入耳机的销售情况:");
33 Headphone=scanner.nextInt();
34 System.out.println("请输入手机壳的销售情况:");
35 Shell=scanner.nextInt();
36 System.out.println("请输入手机膜的销售情况:");
37 Protector=scanner.nextInt();
38 scanner.close();
39 }catch(Exception e){
40 System.out.println("出现异常:"+e);
41 System.exit(-1);
42 }
43 if(Headphone>=0&&Shell>=0&&Protector>=0)
44 {
45 commission(Headphone,Shell,Protector);
46 }
47 else
48 {
49 System.out.println("输入有误,请重新输入!");
50 }
51
52 }
53 }
54 }
4.修正后心得体会:
<1>根据测试人员给出的意见对代码进行的修改如下:
(1)对输入销售数量后进行了是否符合要求的判断,修改如下:
(2)当销售额大于1800时的计算公式进行了改正,改正如下:
(3)进行了异常捕获,当输入的数据不是整数型时会捕获异常,优化如下:
<2>出现缺陷的原因:
在编写代码时没有进行充分的思考与分析,导致思路不够严谨从而出现缺陷和错误
<3>学习心得
(1)我明白了在编写代码时思路是很重要的,要多加思考才能发现更加简洁的设计方案
(2)我发现很多错误都来源与粗心大意,明白了以后在编写代码时要仔细检查,例如在计算当销售金额大于1800时所得到的拥金,如果好好检查就能避免这样的错误
(3)通过对本章知识的学习,进一步了解了软件测试,同时通过对本章的学习也使我在编写代码时更加严谨了