- 第一種使用if語句來完成這個功能
1 public static void main(String[] args) { 2 Scanner in = new Scanner(System.in); 3 System.out.println("請輸入第一個數:"); 4 int num1 = in.nextInt(); 5 System.out.println("請輸入第二個數:"); 6 int num2 = in.nextInt(); 7 System.out.println("請輸入第三個數:"); 8 int num3 = in.nextInt(); 9 //定義臨時變量 轉換為num1>num2>num3 10 int temp = 0; 11 if (num1 < num2) 12 { 13 temp = num1; 14 num1 = num2; 15 num2 = temp; 16 } 17 if (num1 < num3) 18 { 19 temp = num1; 20 num1 = num3; 21 num3 = num1; 22 } 23 if (num2 < num3) 24 { 25 temp = num2; 26 num2 = num3; 27 num3 = temp; 28 } 29 System.out.println("三個數從大到小的數字是:"+num1+"\t"+num2+"\t"+num3); 30 }
- 使用三目運算符來完成這個功能
1 public static void main(String[] args) { 2 Scanner in = new Scanner(System.in); 3 System.out.println("請輸入第一個數:"); 4 int num1 = in.nextInt(); 5 System.out.println("請輸入第二個數:"); 6 int num2 = in.nextInt(); 7 System.out.println("請輸入第三個數:"); 8 int num3 = in.nextInt(); 9 int max = (num1>num2)?num1:num2; 10 //得到的最大值再與剩下的數比較 11 max = (max>num3)?max:num3; 12 int min = (num1<num2)?num1:num2; 13 min = (min<num3)?min:num3; 14 //三個數相加減去最大值和最小值,就是中間值 15 int mid = num1 + num2 + num3 - min -max; 16 System.out.println("三個數從大到小的數字是:"+max+"\t"+mid+"\t"+min); 17 18 }
- 使用數組的方式,進行冒泡排序來完成這個功能、
1 public static void main(String[] args) { 2 Scanner in = new Scanner(System.in); 3 System.out.println("請輸入第一個數:"); 4 int num1 = in.nextInt(); 5 System.out.println("請輸入第二個數:"); 6 int num2 = in.nextInt(); 7 System.out.println("請輸入第三個數:"); 8 int num3 = in.nextInt(); 9 //使用數組接收三個得到的三個數 10 int arr[] = {num1,num2,num3}; 11 for (int i = 0;i<arr.length - 1 ;i++ ) 12 { 13 for (int j = 0;j<arr.length-1-i ;j++ ) 14 { 15 if (arr[j] < arr[j+1]) 16 { 17 int temp = arr[j+1]; 18 arr[j+1] = arr[j]; 19 arr[j] = temp; 20 } 21 } 22 } 23 System.out.println("三個數從大到小的數字是:"+ Arrays.toString(arr)); 24 }