• 第二次作业+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、心得体会

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

  • 相关阅读:
    算法系列二:排序
    算法系列一:简单排序
    自己实现数据结构系列五---BinarySearchTree
    自己实现数据结构系列四---Queue
    自己实现数据结构系列三---Stack
    自己实现数据结构系列二---LinkedList
    自己实现数据结构系列一---ArrayList
    栈--数组实现
    RequestHolder工具类
    IP工具类
  • 原文地址:https://www.cnblogs.com/pter/p/6613240.html
Copyright © 2020-2023  润新知