第二次作业+105032014118
测试结果帖链接:http://www.cnblogs.com/zbxun/p/6606792.html
提出的问题:
1、发博客时,代码应该使用插入代码来提交,而不是直接复制编辑
2.对代码的输入考虑不够周全
下面是修改后的代码:
1 package test01; 2 3 4 import java.util.Scanner; 5 6 public class test01 { 7 public static void main(String[] args) { 8 int a = 0,b = 0,c = 0; 9 String d,e,f; 10 boolean flag = true; 11 @SuppressWarnings("resource") 12 Scanner scanner = new Scanner(System.in); 13 //判断是否正确输入三条边 14 while(flag){ 15 System.out.println("请输入三角形的三条边,以空格分开:"); 16 d = scanner.next(); 17 e = scanner.next(); 18 f = scanner.next(); 19 if(isNumber(d) && isNumber(e) && isNumber(f)) 20 { 21 a = Integer.parseInt(d); 22 b = Integer.parseInt(e); 23 c = Integer.parseInt(f); 24 System.out.println(a+","+b+","+c+"可构成"+triangle(a,b,c)); 25 26 } 27 else 28 { 29 System.out.println("输入格式错误,请重新输入!!"); 30 } 31 System.out.println("是否要继续输入数据?1:Yes 2:No"); 32 String temp=scanner.next(); 33 switch(temp) 34 { 35 case"1": 36 flag=true; 37 break; 38 case"2": 39 flag=false; 40 System.out.print("您已退出程序"); 41 break; 42 } 43 } 44 } 45 46 //判断是否是整数 47 public static boolean isNumber(String s) 48 { 49 if(s==null) 50 { 51 return false; 52 } 53 for(int i = 0; i < s.length(); i++) 54 { 55 if(Character.isDigit(s.charAt(i)) == false) 56 { 57 return false; 58 } 59 } 60 return true; 61 } 62 63 //判断三角形 64 public static String triangle(int a, int b, int c) 65 { 66 String result; 67 68 if(a<1 || a>100 || b<1 || b>100 || c<1 || c>100) 69 { 70 result = "边的值不在范围内!"; 71 } 72 if((a<b+c)&&( b<a+c)&&( c<a+b)){ 73 if((a==b)||(a==c)||(b==c)){ 74 if((a==b)&&(b==c)) 75 result="等边三角形"; 76 else 77 result="等腰三角形"; 78 } 79 else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a)) 80 result="直角三角形"; 81 else 82 result="一般三角形"; 83 } 84 else{ 85 result="不能构成三角形"; 86 } 87 return result; 88 89 } 90 }
心得体会:
由于之前第一次使用博客,没有充分理解题意,考虑不够周全,导致了一系列的问题出现。经过再次思考后,在输入方面对此进行了修改,优化了代码。
编程是一门艺术,需要注意每个细节。一个微不足道的bug,都有可能导致不好的用户体验。