设计三角形问题的程序
输入三个整数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及不构成三角形。(等腰直角三角形,判断为等腰三角形)
现在要求输入三个整数a、b、c,必须满足以下条件:
条件1 1≤a≤100 条件4 a<b+ c
条件2 1≤b≤100 条件5 b<a+ c
条件3 1≤c≤100 条件6 c<a+ b
String triangle(int a,int b,int c) 返回字符型
程序要求:
1)先显示:“请输入三角形的三条边:”
2)只要有不满足条件1,2,3之一,就返回“边的值不在范围内!”
3)只要有不满足4,5,6之一,就返回“不构成三角形”
4)根据边的情况分别返回:“等边三角形”“等腰三角形”“直角三角形”“一般三角形”
源码:
1 import java.util.Scanner; 2 3 public class JudgeTriangle { 4 5 public static void main(String[] args) { 6 int a=0,b=0,c=0; 7 String d,e,f; 8 System.out.println("请输入三角形的三条边:"); 9 Scanner scanner = new Scanner(System.in); 10 11 do{ 12 d = scanner.next(); 13 e = scanner.next(); 14 f = scanner.next(); 15 if(isNumber(d) && isNumber(e) && isNumber(f)) 16 { 17 a = Integer.parseInt(d); 18 b = Integer.parseInt(e); 19 c = Integer.parseInt(f); 20 break; 21 } 22 else 23 { 24 System.out.println("格式错误!请重新输入三角形的三条边:"); 25 } 26 }while(true); 27 28 System.out.println(triangle(a,b,c)); 29 scanner.close(); 30 31 } 32 33 //判断是否是整数 34 public static boolean isNumber(String s) 35 { 36 if(s==null) 37 { 38 return false; 39 } 40 for(int i = 0; i < s.length(); i++) 41 { 42 if(Character.isDigit(s.charAt(i)) == false) 43 { 44 return false; 45 } 46 } 47 return true; 48 } 49 50 //判断三角形 51 public static String triangle(int a, int b, int c) 52 { 53 String result; 54 55 if(a<1 || a>100 || b<1 || b>100 || c<1 || c>100) 56 { 57 result = "边的值不在范围内!"; 58 } 59 else if(a >= b+c || b >= a+c || c >= a+b) 60 { 61 result = "不构成三角形!"; 62 } 63 else if(a==b && b==c) 64 { 65 result = "等边三角形"; 66 } 67 //else if((a == b && b != c) || (a == c && b!= c) || (b == c && a != b)) 68 else if((a-b)*(a-c)*(b-c)==0) 69 { 70 result = "等腰三角形"; 71 } 72 else if(a*a + b*b == c*c || a*a + c*c == b*b || c*c + b*b == a*a) 73 { 74 result = "直角三角形"; 75 } 76 else 77 { 78 result = "一般三角形"; 79 } 80 81 return result; 82 } 83 84 }