第二次作业+105032014085

1、测试帖链接:第一次作业+105032014028

  源码链接:UT源码 085

2、代码调整建议 

  1、在main方法里面当用户输入边的值不是整数时,在提示用户后应当从新让用户输入数据,最后不要直接退出。

 

  2、可以用循环语句进行多次判断。

3、调整后代码

 

 1 import java.util.InputMismatchException;
 2 import java.util.Scanner;
 3 
 4 public class TestDemo {
 5     
 6     public static String Triangle(int side1,int side2,int side3)//判断是否构成三角形及三角形的种类
 7     {
 8         int temp;
 9         if(side1>side2) {temp=side1;side1=side2;side2=temp;}//排个序让小数在前,大数在后(不能保证前两个数的顺序)
10         if(side2>side3) {temp=side2;side2=side3;side3=temp;}
11     
12         String result="三角形";
13         if(side1+side2<=side3)
14             return "不构成"+result;
15         else if(side1==side2 && side2==side3)
16             return "等边"+result;
17         else if(side1==side2 || side2==side3)
18             return "等腰"+result;
19         else if(side1*side1+side2*side2==side3*side3)
20             return "直角"+result;
21         else
22             return "普通"+result;
23     }
24     
25     public static boolean Check(int num) //检验输入的数据是否属于[1,100]
26     {
27         if(num<1 || num>100)
28         {
29             System.out.println("边的值不在范围内!");
30             return false;
31         }
32         return true;
33     }
34 
35     public static void main(String[] args) 
36     { 
37         while(true)
38         {
39             Scanner scanner=new Scanner(System.in);
40             int side1=0,side2=0,side3=0;
41             boolean flag=true;  //用于标记输入的数据是否合法
42             System.out.println("请输入三角形的三条边");
43             try{        //捕获输入异常
44                 side1=scanner.nextInt();
45                 side2=scanner.nextInt();
46                 side3=scanner.nextInt();
47             }
48             catch(InputMismatchException e)  //显示输入异常
49             {
50                 flag=false;
51                 System.out.println("请输入整数!");
52             }
53             if(flag)  //若输入有误则直接退出
54                 if(Check(side1) && Check(side2) && Check(side3))
55                     System.out.println(Triangle(side1,side2,side3));
56         }
57     }
58 }

 4、心得体会

  对输入的三个数字进行了排序,保证两个小数在前面,最大的数字在后面,这样再后续的判断中可以大大减少判断语句中逻辑表达式的长度,减轻测试工作的负担

posted @ 2017-03-24 20:26  pter  阅读(184)  评论(1编辑  收藏  举报