代码改变世界

UT源码+166

2017-03-10 19:05  张珍珍  阅读(299)  评论(0编辑  收藏  举报

设计三角形问题的程序

      输入三个整数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 }