第二次作业+105032014043
1、测试帖链接:http://www.cnblogs.com/ZQ4162/p/6581148.html
2、测试人员提出的问题、发现的缺陷
本次代码结构完整,逻辑清晰,但是还是有不符合通用代码规范的地方,首先通用代码规范要求即使是单行条件式代码也要使用大括号,但是本次代码中有出现没有使用大括号的情况,建议进行更改;其次,本次代码中的判断条件有的地方太过复杂,建议可以优化的地方进行简化;最后,建议在使用大括号时将“{”跳转一行,同时也将“}”也跳转一行,若此能使代码的结构更加清晰。
不符合代码规范的地方建议进行的优化:
首先建议将判断等边三角形是的判断语句优化为if(a==b&&b==c);
其次建议将该语句后的内容用大括号括起;
最后建议将“{”都跳转一行书写。
3、代码优化:
1 、等边三角形是的判断语句优化为if(a==b&&b==c);
2、输入数值加入异常捕获,当输入不为有效数值时加以提示。
4、修正后心得体会:
1、细节决定成败,
2、代码是设置自动对齐的。“{”另起一行确实方便阅读。
1 package Java_1; 2 3 import java.util.Scanner; 4 5 public class TriangleExp1 { 6 // 主函数 7 public static void main(String[] args) { 8 int a = 0, b = 0, c = 0; 9 System.out.println(triangle(a, b, c)); 10 } 11 12 // 判断三角形的类型 13 public static String triangle(int a, int b, int c) { 14 System.out.println("请输入三角形的三条边"); 15 Scanner scanner = new Scanner(System.in); 16 try { 17 a = scanner.nextInt(); 18 b = scanner.nextInt(); 19 c = scanner.nextInt(); 20 scanner.close(); 21 } catch (Exception e) { 22 System.out.println("输入有误!!!"); 23 System.exit(-1); 24 } 25 if ((a < 1 || a > 100) || (b < 1 || b > 100) || (c < 1 || c > 100)) { 26 return "边的值不在范围内!"; 27 } else if ((a >= b + c) || (b >= a + c) || (c >= a + b)) { 28 return "不构成三角形!"; 29 } else if (a == b || a == c || b == c) { 30 if (a == b && a == c) { 31 return "等边三角形!"; 32 } else { 33 return "等腰三角形!"; 34 } 35 } else if (a * a == b * b + c * c || b * b == a * a + c * c || c * c == b * b + a * a) { 36 return "直角三角形"; 37 } else { 38 return "一般三角形"; 39 } 40 } 41 }