java由大到小输出整数xvz_【视频+图文】Java经典基础练习题(三):输入3个整数,并将其由小到大输出...
java經典實例書店書暢想暢銷書
109.6元
包郵
(需用券)
去購買 >
目錄https://www.cnblogs.com/Qpgshare/p/12588923.html一、視頻講解
https://www.cnblogs.com/Qpgshare/p/12588923.html二、思路分析https://www.cnblogs.com/Qpgshare/p/12588923.html總結:
https://www.cnblogs.com/Qpgshare/p/12588923.html三、代碼+詳解+結果
https://www.cnblogs.com/Qpgshare/p/12588923.html四、彩蛋
能解決題目的代碼并不是一次就可以寫好的
我們需要根據我們的思路寫出后通過debug模式找到不足再進行更改
多次測試后才可得到能解決題目的代碼!
通過學習,練習【Java基礎經典練習題】,讓我們一起來培養這種解決問題思路。
一、視頻講解
點擊這里即可去B站觀看
二、思路分析
Q1:如何從鍵盤輸入3個整數?
A1: 鍵盤輸入需使用Scanner語句,使用Scanner語句需以下4步驟
導包(可以在第二步創建后按住“Ctrl+shift+O”來自動導包)
import java.util.Scanner;
創建 Scanner sc = new Scanner (System.in); (sc是對象的名字,只要符合命名規則可更換)
3.使用(這里介紹的是最簡單是使用方法)
(1)獲取鍵盤輸入的int型數字 int num = sc.nextInt();
(2)特殊: 獲取鍵盤輸入的字符串 String str = sc.next();
4.使用完畢,關閉鍵盤輸入 sc.close();(即對象名.close())
Q2:只輸出最大數或最小數,我可以搞定。但是如何將這三個數由小到大都輸出呢?
A2: 這個問題的回答就是解題的核心啦!
因為本題要求是從小到大輸出3這個數,我們先將我們從鍵盤輸入的數用3個變量x、y、z來保存。
所以我們的基本思路就是:讓3個數經過一系列變化后
x:存放3數中最小的那個數
y:存放三數中處在中間位置的數
z:存放3數中最大的數
接下來我們就來講講3個數怎樣經過一系列變化達到我們的目的,
以x=45、y=27、z=15為例:
我們先讓x與y比較:
若x>y,就讓x和y交換位置(一定要記得我們的終極目的:3個數中的小數存放在x中)
此次x=45、y=27所以我們使其交換位置
x=45、y=27、z=15 → x=27、y=45、z=15
繼續x與z進行比較:
若x>z,就讓x和z交換位置(一定要記得我們的終極目的:3個數中的小數存放在x中)
此次x=27、z=15所以我們使其交換位置
x=27、y=45、z=15 → x=15、y=45、z=27
繼續y與z進行比較:
若y>z,就讓y和z交換位置(一定要記得我們的終極目的:3個數中的小數存放在x中)
此次y=45、z=27所以我們使其交換位置
x=15、y=45、z=27 → x=15、y=27、z=45
經過3次比較,最終這3個數的順序就是由小到大的了。
總結:
讓x與y比較,若x>y,就讓x和y交換位置
讓x與z比較,若x>z,就讓x和z交換位置
讓y與z比較,若y>z,就讓y和z交換位置
三、代碼+詳解+結果
代碼:
package Exercise;
import java.util.Scanner;
public class ThreeNumberSort {
//題目:輸入3個整數,并將其由小到大輸出
public static void main(String[] args) {
int temp=0;
Scanner sc = new Scanner(System.in);//使用Scanner鍵盤輸入
System.out.println("請輸入3個整數");
int x = sc.nextInt();//將鍵盤輸入的第一個數保存在int型x變量中
int y = sc.nextInt();//將鍵盤輸入的第二個數保存在int型y變量中
int z = sc.nextInt();//將鍵盤輸入的第三個數保存在int型z變量中
sc.close();//使用完鍵盤輸入后關閉
if(x>y) {//如果x>y那么x,y需要交換位置
temp=x;//借助temp變量,將二者間的大數x存在temp中
x=y;//讓小數y到x的位置
y=temp;//讓大數x(即此時的temp)到y的位置,這時x y中的數就是從小到大的順序
}
if(x>z) {//如果x>z那么x,z需要交換位置
temp=x;//借助temp變量,將二者間的大數x存在temp中
x=z;//讓小數z到x的位置
z=temp;//讓大數x(即此時的temp)到z的位置,這時x z中的數就是從小到大的順序
}
if(y>z) {//如果y>z那么y,z需要交換位置
temp=y;//借助temp變量,將二者間的大數y存在temp中
y=z;//讓小數z到y的位置
z=temp;//讓大數y(即此時的temp)到z的位置,這時y z中的數就是從小到大的順序
}
System.out.println(x+" "+y+" "+z);// 輸出由小到大排序后的xyz三數
}
}
詳解:
以x:6 y:48 z:-2為例
x=6,y=48 不滿足第一個if語句條件if(x>y)
所以不執行第一個if語句,繼續向下執行。此時x,y,z的值為:6 48 -2
x=6,z=-2滿足第二個if語句條件if(x>z)
所以執行if語句中的代碼塊:
if(x>z) {//如果x>z那么x,z需要交換位置
temp=x;//借助temp變量,將二者間的大數x存在temp中
x=z;//讓小數z到x的位置
z=temp;//讓大數x(即此時的temp)到z的位置,這時x z中的數就是從小到大的順序
}
此時temp=6;
x=-2
z=6
執行完這個if語句后x,y,z的值為:-2 48 6
繼續下一個if語句判斷,這時y=48,z=6
滿足第三個if語句條件if(y>z)
所以執行if語句中的代碼塊:
if(y>z) {//如果y>z那么y,z需要交換位置
temp=y;//借助temp變量,將二者間的大數y存在temp中
y=z;//讓小數z到y的位置
z=temp;//讓大數y(即此時的temp)到z的位置,這時y z中的數就是從小到大的順序
}
此時temp=48;
y=6
z=48
執行完這個if語句后x,y,z的值為:-2 6 48
此時xyz的值已是從小到大的順序,我們輸出此時的x y z:-2 6 48
結果:
四、彩蛋
java 11官方入門(第8版)教材
79.84元
包郵
(需用券)
去購買 >
總結
以上是生活随笔為你收集整理的java由大到小输出整数xvz_【视频+图文】Java经典基础练习题(三):输入3个整数,并将其由小到大输出...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql数据库子查询的使用_MySQL
- 下一篇: 山海旅人怎么布置阵法 布置阵法需要什么符