一、需求描述
设计三角形问题的程序
输入三个整数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.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 String result="三角形"; 9 if(side1+side2<=side3 || side2+side3<=side1 || side1+side3<=side2) 10 return "不构成"+result; 11 else if(side1==side2 && side2==side3) 12 return "等边"+result; 13 else if((side1==side2 && side2!=side3) || (side1==side3 && side2!=side3) || (side2==side3 && side1!=side3)) 14 return "等腰"+result; 15 else 16 return "普通"+result; 17 } 18 19 public static boolean Check(int num) //检验输入的数据是否属于[1,100] 20 { 21 if(num<1 || num>100) 22 { 23 System.out.println("边的值不在范围内!"); 24 return false; 25 } 26 return true; 27 } 28 29 public static void main(String[] args) { 30 Scanner scanner=new Scanner(System.in); 31 int side1=0,side2=0,side3=0; 32 boolean flag=true; //用于标记输入的数据是否合法 33 System.out.println("请输入三角形的三条边"); 34 try{ //捕获输入异常 35 side1=scanner.nextInt(); 36 side2=scanner.nextInt(); 37 side3=scanner.nextInt(); 38 } 39 catch(InputMismatchException e) //显示输入异常 40 { 41 flag=false; 42 System.out.println("请输入整数!"); 43 } 44 if(flag) //若输入有误则直接退出 45 if(Check(side1) && Check(side2) && Check(side3)) 46 System.out.println(Triangle(side1,side2,side3)); 47 } 48 }