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); //打印出排序好的数组
}
}