private static Scanner sc;private static int edge[] = new int[3];public static void main(String[] args) {System.out.println("请输入三角形的三条边");sc = new Scanner(System.in);input();}public static void input() {int index = 0;//数组下标while (sc.hasNext()){if (sc.hasNextInt()){int temp = sc.nextInt();if (temp 0){System.out.println("请输入正整数");}else {edge[index] = temp;index++;if (index = 3){Arrays.sort(edge);//排序方便使用勾股定理judge();index = 0;//下标重置为0,可以循环判断三角形}}} else {sc.next();System.out.println("请输入正整数");}}}private static void judge() {//三角形必须满足任意两条边之和大于第三条边if (edge[0] + edge[1] edge[2] && edge[0] + edge[2] edge[1] && edge[1] + edge[2] edge[0]){//满足三条边相等为等边三角形if (edge[0] == edge[1] && edge[1] == edge[2]){System.out.println("边长为:" + edge[0] +","+edge[1]+","+edge[2] +"的三角形为等边三角形");}//满足a+b=c为直角三角形,因为前面排序了所以斜边对应的是edge[2]else if (edge[0] * edge[0] + edge[1] * edge[1] == edge[2] * edge[2]) {System.out.println("边长为:" + edge[0] +","+edge[1]+","+edge[2] +"的三角形为直角三角形");}//满足任意两条边相等即为等腰三角形else if (edge[0] == edge[1] || edge[1] == edge[2] || edge[0] == edge[2]) {System.out.println("边长为:" + edge[0] +","+edge[1]+","+edge[2] +"的三角形为等腰三角形");}//其他的皆为斜角三角形else {System.out.println("边长为:" + edge[0] +","+edge[1]+","+edge[2] +"的三角形为斜角三角形");}}else{System.out.println("输入的三条边不能构成三角形,请重新输入");input();}}
时间:2020-09-22 17:26:51