/**
这是一个可以对数组进行操作的工具,该类中提供了,获取最值,排序等功能。
@author 侯亚东
@version V1.0
*/
class ArrayTool
{
/**
空参数构造函数
*/
private ArrayTool(){};//构造函数私有化,不允许建立对象,因为建立对象没意义,静态后可以直接调用
/**
获取一个整形数组中的最大值
@param arr 接受一个int类型的数组
@return 会返回一个该数组中的最大值
*/
public static int getMax(int []arr)//最大值函数
{
int max=0;
for(int x=0;x<arr.length;x++)
{
if(arr[x]>arr[max])
max=x;
}
return max;
}
/**
获取一个整形数组中的最小值
@param arr 接受一个int类型的数组
@return 会返回一个该数组中的最小值
*/
public static int getMin(int []arr)//最小值函数
{
int min=0;
for(int x=0;x<arr.length;x++)
{
if(arr[x]<arr[min])
min=x;
}
return min;
}
/**
给int数组进行选择排序
@param arr 接受一个int类型的数组
*/
public static void xuanZe(int[]arr)//选择排序方法
{
for(int x=0;x<arr.length;x++)
{
for(int y=x+1;y<arr.length;y++)
{
if(arr[x]>arr[y])
{
swap(arr,x,y);
}
}
}
}
/**
给int数组进行冒泡排序
@param arr 接受一个int类型的数组
*/
public static void maoPao(int []arr)//冒泡排序方法
{
for(int x=0;x<arr.length;x++)
{
for(int y=0;y<arr.length-x-1;y++)
{
if(arr[y]>arr[y+1])
{
swap(arr,y,y+1);
}
}
}
}
/**
给数组的元素进行位置互换
@param arr 接受一个int类型的数组
@param a 要置换的位置
@param b 要置换的位置
*/
private static void swap(int[]arr,int a,int b)//互换位置,为上面两张排序服务
{
int temp=arr[a];
arr[a]=arr[b];
arr[b]=temp;
}
/**
用于打印数组中的元素。打印形式:element1,element2,......
@param arr 接受一个int类型的数组
*/
public static void shuChu(int []arr)//用于选择排序和冒泡排序的输出
{
for(int x=0;x<arr.length;x++)
{
if(x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.println(arr[x]);
}
}
}
public class 静态的应用
{
public static void main(String[] args)
{
int[] arr={3,1,5,87,54,64};
//ArrayTool tool=new ArrayTool();
//int max=tool.getMax(arr);
//System.out.println("max="+arr[max]);
//int min=tool.getMin(arr);
//System.out.println("min="+arr[min]);
//tool.xuanZe(arr);
//tool.shuChu(arr);
int max=ArrayTool.getMax(arr);//获取最大值
System.out.println("max="+arr[max]);//打印最大值
int min=ArrayTool.getMin(arr);//获取最小值
System.out.println("min="+arr[min]);//打印最小值
ArrayTool.shuChu(arr);//排序前
ArrayTool.xuanZe(arr);//选择排序
ArrayTool.shuChu(arr);//输出选择排序后的结果
}
}
|
|