1. 程式人生 > >Java陣列練習(二) 獲取陣列中的最大值最小值

Java陣列練習(二) 獲取陣列中的最大值最小值

思路一:

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];
	}
}