Java數組練習題小結


//2015/07/07
//Java數組小小練習題
/*
3. 寫一個函數,計算一個整數數組的平均值
4. 自定義一個整數數組a,讀入一個整數n,如果n 在數組中存在,則輸出n 的下標;如果不存在,則輸出-1。
5. 給定一個數組,輸出數組中的最大值和最小值
6. *給定一個數組,把這個數組中所有元素順序進行顛倒。
7. *完成數組的冒泡排序算法:給定一個數組:int[] a = {1,3,2,7,5},利用冒泡排序對其按照從小到大的順序排序,然后輸出結果。
8. *使用第二種算法對數組進行排序
注:每一題都被函數封裝起來了
*/
package Chp5;

public class ArrayTest {
	//Three 計算數組的平均值
	public void Average(int[] array)
	{
		System.out.println("第3題");
		int len = array.length;
		int average = 0;
		int sum = 0;
		for(int i = 0;i<len;i++)
		{
			sum+=array[i];
		}
		average = sum/len;
		System.out.println("數組的平均值為:"+average);
	}
	
	//第四題:自定義一個整數數組a,讀入一個整數n
	public void IsExit(int[] array,int num)
	{
		System.out.println("第4題");
		int len = array.length;
		boolean bl = false;
		for(int i = 0;i<len;i++)
		{
			if(array[i] == num)
			{
				System.out.println("該數存在於數組中,下標為:"+i);
				bl = true;
			}
		}
		if(bl == false)
		{
			System.out.println(-1);
		}
	}
	
	//5題:求數組中的最大值和最小值
	public void GetMaxMin(int[] array)
	{
		System.out.println("第5題");
		int len = array.length;
		int temp;
		for(int i = 0;i<len;i++)
		{
			for(int j = 0;j<len-i-1;j++)
			{
				if(array[j]>array[j+1])
				{
					temp = array[j];
					array[j] = array[j+1];
					array[j+1] = temp;
				}
			}
		}
		
		System.out.println("數組最大值為:"+array[len-1]);
		System.out.println("數組最小值為:"+array[0]);
		
	}
	
	//第6題:給定一個數組,把這個數組中所有元素順序進行顛倒。
	public void UpDownLocation(int[] array)
	{
		System.out.println("第6題");
		int len = array.length;
		int temp = 0;
		for(int i = 0;i<len;i++)
		{
			temp = array[len-1];
			array[len-1] = array[i];
			array[i] = temp;
			len--;
		}
	}
	
	///////////////////////////
	public void PrintArray(int[] array)
	{
		int len = array.length;
		for(int i = 0;i<len;i++)
		{
			System.out.print(array[i]+"  ");
		}
		System.out.println();
	}
	
	///////////////////////////
	
	//第7題:按照從小到大的順序排序,然后輸出結果
	public void BubbleSort(int[] array)
	{
		System.out.println("第7題");
		int len = array.length;
		int temp;
        for(int i = 0;i<len;i++)
        {
            for(int j = 0;j<len-i-1;j++)
            {
                if(array[j]>array[j+1])
                {
                    temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                }
            }
        }
	}
	
	//第8題:用第二種算法對數組進行排序
	public void MyChoiceSort(int array[])
    {
		System.out.println("第8題");
		int len = array.length;
        int temp;
        for(int i = 0;i<len;i++)
        {
            for(int j = i+1;j<len;j++)
            {
                if(array[i]>array[j])
                {
                    temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                }
            }
        }
    }
	
	public static void main(String[] args) {
		ArrayTest Myarray = new ArrayTest();
		////
		int[] array ={8,4,6,2,2,6,4,8};
		Myarray.Average(array);
		////
		Myarray.IsExit(array, 5);
		///
		Myarray.GetMaxMin(array);
		///
		Myarray.UpDownLocation(array);
		Myarray.PrintArray(array);
		///
		Myarray.BubbleSort(array);
		Myarray.PrintArray(array);
		///
		Myarray.MyChoiceSort(array);
		Myarray.PrintArray(array);
	}
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM