Based on your study of Display 3.8, write a code to find the max and min of a list of number.
For example, given 1,3,5, and9, the max is 9 and the min is 1.
Your program should be able to process a list of any length.
For example, given 1,3,5, and9, the max is 9 and the min is 1.
Your program should be able to process a list of any length.
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 你服那兵役會可憐,我就從此不再萌蘿莉= = 1:0.351 說:
回覆刪除(準備上課去O_Oノシ)
[季軒] 說:
O_Oノシ)
[季軒] 說:
再JAVA中藥怎麼讓三個輸入互相比較
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
比較什麼O_O??
[季軒] 說:
a b c的大小病排序
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
所以重點是排序?
如果只有三個東西的話直接用if else解決就可以了吧
[季軒] 說:
=口=
[季軒] 說:
要手動比較6種組合這樣?
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
三個東西是當作參數傳進一個Method嗎?
(話說那三個東西的型別是?)
[季軒] 說:
input
[季軒] 說:
為int
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
是array嗎?
還是分開的三個參數?
[季軒] 說:
手動輸入
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
=口=
那...你輸出的東西是?
印在螢幕上、已經排序好的三個int?
還是要return給呼叫他的method?
[季軒] 說:
決定MAX和MIN並輸出
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
那...應該是輸出在螢幕上
這樣的話建議把三個參數都用一個array存下來
之後看是要用bubble sort還是selection sort那些簡單的排序去排那個array
然後再把array裡面的第一個跟最後一個參數拿出來
其中一個就是最大、另一個就是最小(根據你sort裡面的判斷式會決定哪個是最大、哪個是最小)
[季軒] 說:
哩低工蝦
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
(囧
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
呃....首先
三個手動輸入的參數、先都依序放在一個int的array裡
以上OK嗎??
[季軒] 說:
NO
[季軒] 說:
ARRAY是啥?
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
矩陣還陣列,我忘了O_O
不是matrix
[季軒] 說:
int max = number[0];
[季軒] 說:
這ㄍㄛ
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
int a = 10;
int [] b = new int[3];
b[0] = 1;
b[1] = 3;
b[2] = 2;
b[3] = 5; //這個會出錯
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
右邊那個number就是型別為int的array
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
所以你們是用array在存囉?
一個叫做number的int array?
[季軒] 說:
不知道
[季軒] 說:
老師沒教ARRAY
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
你收集到的三個數字會放在number[0]、number[1]、number[2]這三個地方?
[季軒] 說:
他叫我們看課本自己打
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
照上面看的感覺是這樣
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
那輸入的部份你OK嗎?
[季軒] 說:
a = keyboard.nextInt();
b = keyboard.nextInt();
c = keyboard.nextInt();
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
就是怎麼樣從鍵盤獨進數字
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
(囧)
所以輸入存放在三個不同的變數裡...
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
如果不管他那麼多的話
你直接用暴力解解6種組合也是可以= =;;
如果要用到排序的話(考慮到未來可能題目會變成輸入4個數字)
還是把輸入的數字都放在array裡面會比較好
變成像下面那樣
number[0] = keyboard.nextInt();
number[1] = keyboard.nextInt();
number[2] = keyboard.nextInt();
[季軒] 說:
number[]要怎麼定義?
[季軒] 說:
int []number?
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
然後用簡單的排序法來排序...
int [] number = new int[3];
number[0] = keyboard.nextInt();
number[1] = keyboard.nextInt();
number[2] = keyboard.nextInt();
int i, j;
for(i = number - 1; i >= 0; i--){
for(j = 0; j < i; j++){
if(number[j] > number[j + 1])
swap(number[j], number[j + 1]);
}
}
//經過這樣,最大的會在number[2], 最小會在number[0]
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
swap(int, int) 要另外寫
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
這行有問題
for(i = number - 1; i >= 0; i--){
改成
for(i = number.length - 1; i >= 0; i--){
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
這行就是宣告array
int [] number = new int[3];
後面[3]是他的大小
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
兩層的for迴圈就是氣泡排序法
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
swap的功用是對調兩個int的內容
[季軒] 說:
swap另外寫是?
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
java沒有這個method
所以自己要另外宣告一個method出來
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
不過要寫在for迴圈裡面也是可以
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
所以....目前你知道method怎麼宣告嗎?
[季軒] 說:
0.0
[季軒] 說:
N
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
嗯...那你剛剛的那些程式,都是寫在main()裡面嗎?
[季軒] 說:
嗯嗯
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
那就...
把 int i, j; 這一行
換成...
int i, j, k;
把swap的那一行
換成...
{
k = number[j];
number[j] = number[j + 1];
number[j + 1] = k;
}
蒼羽 -- 飛べない翼に意味はあるんでしょうか… 1:0.351 說:
這樣基本上就做完了OTL
阿ㄜ...忘了改程式碼把while的條件把count,3改成 != -1
回覆刪除