class ArrayTool
{
/**
工具:获取整数型数组的最大值
*/
public static int getMax(int[] arr)//public为提升权限,让更多的类能够访问到。若没有访问到特有数据时,需要静态化
{ //若访问到特有数据(即封装有特有数据),则不能加静态
int maxIndex = 0;
for(int x = 1;x<arr.length;x++)
{
if(arr[x]>arr[maxIndex])
maxIndex = x;//
}
return arr[maxIndex];
}
public static void selectSort(int[] arr)//访问到特有数据,不用静态
{
for(int x = 0;x<arr.length-1;x++)
{
for(int y=x+1;y<arr.length;y++)
{
if(arr[x]>arr[y])
swap(arr,x,y);
}
}
}
private static void swap(int[] arr,int a,int b)
{
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
public static int getIndex(int[] arr,int key)
{
for (int x = 0;x<arr.length;x++)
{
if(arr[x]==key)
return x;
}
return -1;
}
public static String arrayToString(int[] arr)
{
String str = "[";
for(int x=0;x<arr.length;x++)
{
if(x!=arr.length-1)
str = str + arr[x]+", ";
else
str = str + arr[x]+"]";
}
return str;
}
}
调用时
class ArrayToolDemo
{
/*
主函数为保证程序的独立运行
*/
public static void main(String[] args)
{
int[] arr = {4,6,2,87,35,11,1};
//ArrayTool tool = new ArrayTool();//工具中不加静态是需要定义
int max = ArrayTool.getMax(arr);
System.out.println("max="+max);//获得数组中的最大值
int index = ArrayTool.getIndex(arr,4);
System.out.println("index="+index);//获得0在数组中的角标,若输出-1则数组中不存在此数
}
}
编译时直接编译 ArrayToolDemo