设计三角形问题的程序
输入三个整数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)根据边的情况分别返回:“等边三角形”“等腰三角形”“直角三角形”“一般三角形”
package test;
import java.util.Scanner;
public class TestUtil {
public static void main(String[] args){
while(true){
System.out.println("请输入三角形的三条边,用空格分割:");
//@SuppressWarnings("resource")
try {
//获取键盘录入
Scanner scanner=new Scanner(System.in);
int a=scanner.nextInt();
int b=scanner.nextInt();
int c=scanner.nextInt();
String str=triangle(a,b,c);
System.out.println("----------------------"+str+"------------------------");
} catch (Exception e) {
// TODO Auto-generated catch block
//捕获运行时异常,当输入有误时,打印异常信息
new RuntimeException(e);
System.out.println("嘿呀 ,嘿!您的输入有误,请重新输入(要输整数哦)...");
}
}
}
public static String triangle(int a, int b, int c){
String tt=null;
if((a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100)){
if(a<(b+c)&&b<(a+c)&&c<(a+b)){
if(a==b&&a==c){
tt="等边三角形!";
}else if(a==b||a==c||b==c){
tt="等腰三角形!";
}else if(a*a+b*b==c*c||b*b+c*c==a*a||c*c+a*a==b*b){
tt="直角三角形!";
}else{
tt="一般三角形!";
}
}else{
tt="不能构成三角形!";
}
}else{
tt="边的值不在范围内!";
}
return tt;
}
}