Java黑皮书课后题第3章:*3.8(对三个整数排序)编写程序,提示用户输入三个整数,以非降序的形式显示这三个整数
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第3章:*3.8(对三个整数排序)编写程序,提示用户输入三个整数,以非降序的形式显示这三个整数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
*3.8(對三個整數排序)編寫程序,提示用戶輸入三個整數,以非降序的形式顯示這三個整數
- 題目
- 題目概述
- 破題
- 代碼
- 如何理解值的互換
題目
題目概述
*3.8(對三個整數排序)編寫程序,提示用戶輸入三個整數,以非降序的形式顯示這三個整數
破題
以非降序=升序
三個整數賦予三個變量,假設為a b c
先按住a,與b c進行比較(兩次:a與b、a與c),如果a小則不改變值,如果a大則進行值的互換
再按住b,與c進行比較,如果b大則互換值
(以上方法僅做值的互換,以a b c順序輸出)
代碼
import java.util.Scanner;public class Test3_8 {public static void main(String[] args) {// 接收數據Scanner input = new Scanner(System.in);System.out.println("輸入三個整數:");int a = input.nextInt(), b = input.nextInt(), c = input.nextInt();// 兩兩比較:只需要羅列左邊大右邊小的即可int temp;if(a > b){temp = a;a = b;b = temp;}if(a > c){temp = a;a = c;c = temp;}if(b > c){temp = b;b = c;c = temp;}// 輸出System.out.println(a+ " "+b+" "+c);} }如何理解值的互換
temp = a; a = b; b = temp;對Java來說,如果要互換值(互換位置),必須要借助第三個變量
假設不借助第三者:
[手動代碼塊]
int a = 1, b = 2;
b = a; //此時a和b都為2,無法賦值給另一個變量
[手動結束代碼塊]
所以必須借助一個新的變量,一般我們將其命名為temp(n.臨時雇員、臨時工):
上面這三步雖然挺好理解,但剛開始寫代碼的時候順序建議現推
慢慢找適合自己的理解方式
總結
以上是生活随笔為你收集整理的Java黑皮书课后题第3章:*3.8(对三个整数排序)编写程序,提示用户输入三个整数,以非降序的形式显示这三个整数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第3章:3.7(金融
- 下一篇: Java黑皮书课后题第3章:**3.9(