ArrayTool.java檔案
/**
靜态的應用。
每一個應用程式中都有公行動的功能,可以将這些功能進行抽取,獨立封裝以便複用
由于ArrayTool中并沒有封裝特有資料,而且數組的每一個方法也沒有用到ArrayTool中的特有資料,為讓程式更加嚴謹,
可以将ArrayToll中的方法都定義程static的,直接用類名調用即可
接下來就可以将ArrayTool發送給其他人,其他人隻要将該檔案設定到classpath的路徑下就可以使用該工具
為使對方清楚該類的功能,可以通過說明書(文檔注釋)來完成
*/
/**
這是一個可以對數組進行曹組的工具類,該類中提供了擷取最值(最大,最小)、排序的功能
@author 某某
@version V1.0
*/
class ArrayTool
{
/**
空參數構造函數,由于前文中提到的原因,避免被建立對象而占用過多無用記憶體,聲明為private類型
*/
private ArrayTool(){}
/**
擷取意義整型數組的最大值
@param arr 接受一個int型數組
@return max 傳回一個該數組中的最大值
*/
public static int getMax(int[] arr)
{
int max=0;
for (int i=0 ; i<arr.length ; i++ )
{
if(arr[i]>max)
max=arr[i];
}
return max;
}
/**
擷取意義整型數組的最小值
@param arr 接受一個int型數組
@return min 傳回一個該數組中的最小值
*/
public static int getMin(int[] arr)
{
int min=9999;
for (int i=0 ; i<arr.length ; i++ )
{
if(arr[i]<min)
min=arr[i];
}
return min;
}
/**
給int型數組選擇排序(自小到大)
@param arr 接受一個int型數組
*/
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);
}
}
}
}
/**
給int型數組冒泡排序(自小到大)
@param arr 接受一個int型數組
*/
public static void bubbleSort(int[] arr)
{
for (int x=0 ; x<arr.length-1 ; x++ )
{
for (int y=0 ; y<arr.length-x-1 ; y++ )
{
if(arr[y]>arr[y+1])
{
swap(arr,y,y+1);
}
}
}
}
/**
交換數組中元素的位置
@param arr 數組
@param i 要交換的位置坐标1
@param i 要交換的位置坐标2
*/
private static void swap(int[] arr,int i,int j)
{
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
/**
列印數組中的元素。
*/
public static void printArray(int[] arr)
{
System.out.print("[");
for (int i=0 ; i<arr.length ; i++ )
{
if(i!=arr.length-1)
System.out.print(arr[i]+", ");
else
System.out.println(arr[i]+"]");
}
}
}
ArrayToolDemo檔案
class ArrayToolDemo //測試主函數
{
public static void main(String[] args)
{
int[] arr = {32,1,45,6,89,33,99}; //聲明一個無需數組
ArrayTool.printArray(arr); //列印數組
int max = ArrayTool.getMax(arr); //測試最大值
System.out.println("max = "+max);
int min = ArrayTool.getMin(arr); //測試最小值
System.out.println("min = "+min);
//ArrayTool.printArray(arr); //列印數組
//ArrayTool.selectSort(arr); //測試選擇排序
//ArrayTool.printArray(arr); //列印出排序好的數組
ArrayTool.printArray(arr); //列印數組
ArrayTool.bubbleSort(arr); //測試冒泡排序
ArrayTool.printArray(arr); //列印出排序好的數組
}
}