java語句-判斷數值大小並排序
阿新 • • 發佈:2022-03-19
//在Demo02類中書寫
package Demo; import java.util.Scanner; public class Demo02 { //if語句-判斷數值大小並排序 public static void main(String[] args) { //鍵盤錄入三個數值,比較大小後,按照由小到大的順序列印在控制檯上 Scanner sc = new Scanner(System.in); System.out.println("請輸入第一個整數:"); int a = sc.nextInt(); System.out.println("請輸入第二個整數:"); int b = sc.nextInt(); System.out.println("請輸入第三個整數:"); int c = sc.nextInt(); int temp;//引入中間變數用於兩個變數之間數值的交換 //方法一:可以改變變數中儲存的數值,預設數值由小到大的排序為abc //(1)讓a中儲存的數值最小(三個變數中最小) 故需滿足:a<b且a<c if (a > b) {//保證a<b temp = a; a= b; b = temp; } if (a > c) {//保證a<c temp = a; a = c; c = temp; } //(2)讓b中儲存的資料為bc中最小的 故需滿足:b<c if (b > c) { temp = b; b = c; c = temp; } //(3)通過比較,可以將數值按照由小到大的順序分別儲存在abc三個變數當中,按照順序列印即可System.out.println("三個整數按照由小到大的順序排列為:" + a + b + c); //注:預設數值由大到小的變數排序是可以改變的,方法一樣,改變用於比較的變數名稱即可 //方法二:不改變變數中儲存的數值,利用if語句進行比較,並按照由小到大的順序將數值列印在控制檯上 //(1)比較a和b的大小 if (a > b) { //(2)比較a和c的大小 if (a > c) {//a>b且a>c 故a為最大值 // (3)再比較b和c的大小 if (b > c) {//a>b且a>c且b>c System.out.println("三個整數按照由小到大的順序排列為:" + c + b + a); } else {//a>b且a>c且b<c System.out.println("三個整數按照由小到大的順序排列為:" + b + c + a); } } else {//a>b且a<c System.out.println("三個整數按照由小到大的順序排列為:" + b + a + c); } } else {//a<b //(2)比較b和c的大小 if (b > c) {//a<b且b>c 故b為最大值 //(3)再比較a和c的大小 if (a > c) {//a<b且b>c且a>c System.out.println("三個整數按照由小到大的順序排列為:" + c + a + b); } else {//a<b且b>c且a<c System.out.println("三個整數按照由小到大的順序排列為:" + a + c + b); } } else {//a<b且b<c System.out.println("三個整數按照由小到大的順序排列為:" + a + b + c); } } //注:方法二整體程式碼邏輯思維較為複雜,現在是在三個數排序,如果是四個數排序,使用這種方法幾乎無法操作 //以上兩種方法僅適用於數值較少時進行排序,如排序數值較多則不便使用; //排序數值較多的情況下,可將其儲存在定義好的陣列中,利用陣列的冒泡或選擇排序會更為簡便 } }