Java陣列練習(二) 獲取陣列中的最大值最小值
阿新 • • 發佈:2019-01-28
思路一:
1.獲取最值需要進行比較,每一次比較都會有一個較大的值,因為該值的不確定性,通過一個變數進行臨時儲存。
2.讓陣列中的每一個元素都和這個變數中的值進行比較,如果大於變數中的值,就用該變數記錄較大值。
3.當所有的元素都比較完成,那麼該變數中的儲存就是陣列中的最大值了。
步驟:
1.定義變數,初始化為陣列中的任意一個元素。
2.通過迴圈語句對陣列進行遍歷。
3.在變數過程中定義判斷條件,如果遍歷到的元素比變數中的元素大,就賦值給該變數。
注意:
通過定義一個功能來完成,以便提高程式碼的複用性。該功能結果為陣列中的最大元素,未知內容為陣列。
class Test { public static void main(String[] args) { int[] arr1 = {9,5,6,3,1,2,8,7}; int max1 = getMax(arr1); System.out.println("max1="+max1); double[] arr2 = {9.0,5.0,6.0,3.0,1.0,2.0,8.0,7.0}; double max2 = getMax(arr2); System.out.println("max2="+max2); } //獲取int型別陣列最大值 public static int getMax(int[] arr) { int max = arr[0]; for(int i=0;i<arr.length;i++) { if(arr[i]>max) max = arr[i]; } return max; } //獲取double型別陣列最大值,功能相似,以過載的形式存在 public static double getMax(double[] arr) { double max = arr[0]; for(int i=0;i<arr.length;i++) { if(arr[i]>max) max = arr[i]; } return max; } }
最小值同理,不在贅述。
思路二:
1.定義變數,初始化為陣列角標0。
2.通過迴圈語句對陣列進行遍歷。
3.在變數過程中定義判斷條件,如果遍歷到的元素比角標所在的元素中的數值大,就將較大值的角標賦值給變數。
class Test { public static void main(String[] args) { int[] arr1 = {9,5,6,3,1,2,8,7}; int max1 = getMax(arr1); System.out.println("max1="+max1); double[] arr2 = {9.0,5.0,6.0,3.0,1.0,2.0,8.0,7.0}; double max2 = getMax(arr2); System.out.println("max2="+max2); } //獲取int型別陣列最大值 public static int getMax(int[] arr) { int max = 0; for(int i=0;i<arr.length;i++) { if(arr[i]>arr[max]) max = i; } return arr[max]; } //獲取double型別陣列最大值,功能相似,以過載的形式存在 public static double getMax(double[] arr) { double max = 0; for(int i=0;i<arr.length;i++) { if(arr[i]>arr[max]) max = i; } return arr[max]; } }