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