【Java練習】靜態的應用

   創建兩個類,第一個的是封裝一些功能,姑且稱爲“工具類”,如下:

 

/*
 靜態的應用
 */
//建立一個類,有很多功能
class ArrayTool
{
	private ArrayTool() {}//外界建立對象沒用了就,只能類名調用
	//獲取最大值
	public static int getMax(int [] arr)
	{
		int max= 0;
		for(int i=1;i<arr.length;i++)
		{
			if(arr[i]>arr[max])
				max =i;
		}
		return arr[max];
	}
	//獲取最小值
	public static int getMin(int [] arr)
	{
		int min= 0;
		for(int i=1;i<arr.length;i++)
		{
			if(arr[i]<arr[min])
				min =i;
		}
		return arr[min];
	}
	//選擇排序
	public  static void selectSort(int [] arr)
	{
		for(int i=0;i<arr.length-1;i++)
			for(int j=i+1;j<arr.length;j++)
			{
				if(arr[i]>arr[j])
					swap(arr,i,j);
			}
		printarry(arr);
		
		
	}
	//冒泡排序
	public static void bubbleSort(int[] arr)
	{
		for(int i=0;i<arr.length-1;i++)//確定比較次數,如5個數比較3次就夠了
			for(int j=0;j<arr.length-i-1;j++)//讓每次比較元素減少
			{
				if(arr[j]>arr[j+1])
					swap(arr,j,j+1);
			}
		printarry( arr);
	}
	private static void swap(int[]arr,int a,int b)
	{
		int temp=arr[a];
		arr[a]=arr[b];
		arr[b]=temp;
	}
	//定義打印函數
	private  static void printarry(int [] arry)
    {
    	System.out.print("[");
    	for(int i=0;i<arry.length;i++)
    	{
    		if (i!=arry.length-1)
    			System.out.print(arry[i]+",");
    		else 
    			System.out.print(arry[i]+"]");
    	}
    }
}

/*
 //之前的方法
public class StaticDemo 
{

	public static void main(String[] args)
	{
		int [] arr= {3,4,1,8};
		int max=getMax(arr);
		System.out.println("max="+max);

	}
	 //功能函數

	public static int getMax(int [] arr)
	{
		int max= 0;
		for(int i=1;i<arr.length;i++)
		{
			if(arr[i]>arr[max])
				max =i;
		}
		return arr[max];
	}


} 
//單獨定義一個類
class Test
{
	public static int getMax(int [] arr)
	{
		int max= 0;
		for(int i=1;i<arr.length;i++)
		{
			if(arr[i]>arr[max])
				max =i;
		}
		return arr[max];
	}
}
*/

 

 

第二個類起調用作用,如下:

 

//另外建的類,來調用工具類ArrayTool
public class ArrayToolDemo
{

	public static void main(String[] args)
	{
		int [] arr = {3,2,5,6,98,25};
		System.out.println("Hello world!");
		int max=ArrayTool.getMax(arr);
		System.out.println("max="+max);
		ArrayTool.bubbleSort(arr);
		/*
		ArrayTool tool=new ArrayTool();
		int max=tool.getMax(arr);
		System.out.println("max="+max);
		tool.selectSort(arr);
		
		*/
		
	}

}

 

 

運行結果:

Hello world!
max=98
[2,3,5,6,25,98]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章