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