黑馬程式設計師 陣列求最大值方法

2021-06-19 23:17:41 字數 1997 閱讀 5861



(有兩種思路)

(就是有幾種數字陣列就寫幾個過載方法,因為arrays中的tostring()方法就是這麼幹的(黃玉昆給的解釋,很好),畢竟基本資料型別沒封裝類好操作)。

public class getmaxandmin ;

string max_min = getmax_min(arr);

system.out.println(max_min); //列印結果:陣列中,最大值為:98 , 最小值為 :1

}public static string getmax_min(int arr)

return "陣列中,最大值為:"+max+" , 最小值為 :"+min;

} public static string getmax_min(double arr)

return "陣列中,最大值為:"+max+" , 最小值為 :"+min;

} public static string getmax_min(long arr)

return "陣列中,最大值為:"+max+" , 最小值為 :"+min;

}}

(開始我想的也是這種,可是沒有想到結合集合去解決在陣列型別未知時怎麼比較大小,問了下老師得到了滿意的答覆)

不能像這樣用泛型getmax(t),因為t不接收基本型別的陣列。

//這是關鍵:因為不確定陣列的資料型別,無法用》比較大小,可以考慮是用集合工具了collections的max()方法

/* 思路:

* 1、傳入乙個陣列引用獲取其位元組碼檔案

* 2、用class的靜態方法,isarray判斷是不是陣列

* 3、是陣列的話通過componenttype()方法獲取其陣列型別

* 4、對型別進行判斷,是基本資料型別就乙個個新增進list集合(自動裝箱)

* 5、不是的話就用object中的arraycopy(),直接新增進list集合。

* 6、因為jvm不知道陣列型別,所以不能用<、>比較符號,用collections中的max,min方法獲取集合中的最大值最小值

* */

class getmaxandmin;

double ds = ;

float fs = ;

integer in = ;

double d = ;

system.out.println(getmax_min(ins)); //陣列中最大值為:98, 最小值為:1

system.out.println(getmax_min(ds)); // 陣列中最大值為:328.0, 最小值為:123.323

system.out.println(getmax_min(fs)); //陣列中最大值為:123.5, 最小值為:32.4

system.out.println(getmax_min(in)); //陣列中最大值為:17, 最小值為:1

system.out.println(getmax_min(d)); // 陣列中最大值為:328.0, 最小值為:123.323

}

@suppresswarnings()

public static string getmax_min(object arr)

} else if (componenttype == integer.class

|| componenttype == float.class

|| componenttype == double.class

||componenttype == long.class) else

} else

return "陣列中最大值為:"+collections.max(list)+", 最小值為:"+collections.min(list);

}}



黑馬程式設計師 陣列和方法

陣列 陣列宣告語法 資料型別 陣列名 new 資料型別 陣列長度 例如 int score new int 5 就宣告了乙個長度為5的陣列,陣列名叫score 通俗點,就是宣告了乙個陣列,裡面有5個int型別的變數 陣列名叫 score 裡面的5個型別的變數叫陣列的元素.console.clear ...

黑馬程式設計師 陣列

asp.net unity開發 net培訓 期待與您交流!一 陣列 1.陣列概述 c 陣列從零開始建立索引,即陣列索引 從零開始。宣告陣列時,方括號 必須跟在型別後 面,而不是識別符號後面。陣列的大小不是其型別的一部分 例如 int numbers numbers new int 10 number...

C C 求最大值方法

很多方面c語言和c 都很相似.1.一般法 條件表示式 直接在main函式中運算 特點 簡短清晰 include using namespace std int main void int getmax int array,int count int getmax 3 int a,int b,int ...