JAVA内部方法调用问题

public class ArrayTool{

/**
*默认构造方法私有化,使得调用该方法时只能用类名调用
*使得该方法更严谨
*
*
*/
private ArrayTool();

/**
*该方法用于使两个整数类型的数交换位置
*@param arr 要置换元素的数组
*@param a 要置换的元素
*
**/
private static void swap(int arr[],int a,int b){
int temp;
temp=arr[a];
arr[a]=arr[b];
arr[b]=temp;
}

/**
*该方法可以获取数组中的最大值
*@return 返回数组元素最大值
*
**/
public static int getMax(){
int max=0;
for(int i=0;i<arr.length;i++){
if(arr[i]>max)
max=arr[i];
return arr[max];
}
}

/**
*该方法可以获取数组中的最小值
*@return 返回数组元素最小值
*@param 要获取最大值的数组
**/
public static int getMin(int arr){
int min=0;
for(int i=0;i<arr.length;i++){
if(arr[i]<max)
min=arr[i];
return arr[min];
}
}

/**
*该方法使用选择法排序数组元素(升序排序)
*@param arr 要排序的数组
*
**/
public static void chooseSortR(int arr[]){
for(int i=0;i<arr.length;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[j]<arr[i])
swap(arr[],i,j);
}
}
}

/**
*该方法使用选择法排序数组元素(降序排序)
*@param arr 要排序的数组
*
**/
public static void chooseSortL(int arr[]){
for(int i=0;i<arr.length;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[j]>arr[i])
swap(arr[],i,j);
}
}
}

/**
*该方法用于打印数组,在控制台上显示
*@param arr 要打印的数组
*
**/
public static void printArray(int arr[]){
System.out.print("[");
for(int i;i<arr.length;i++){
if(i==arr.length-1){
System.out.print(arr[i]+"]");
}
else{

System.out.print(arr[i]+",");
}
}
}

/**
*该方法使用冒泡法排序数组元素(升序排序)
*@param arr 要排序的数组
*
**/
public static void boobleSortR(int arr[]){
for(int i=1;i<=arr.length;i++){
for(int j=0;j<arr.length-i;j++){
if(arr[j+1]<arr[j])
swap(arr[],j,j+1);
}
}
}

/**
*该方法使用冒泡法排序数组元素(降序排序)
*@param arr 要排序的数组
*
**/
public static void boobleSortR(int arr[]){
for(int i=1;i<=arr.length;i++){
for(int j=0;j<arr.length-i;j++){
if(arr[j+1]>arr[j])
swap(arr[],j,j+1);
}
}
}
}

/*如果没有定义构造方法,系统会自动默认构造一个
*无参数的构造方法。并且该方法的访问权限跟类的
*访问权限一样
**/
编译时提示错误; 需要CLASS

这里面错误太多了:无参构造方法写成了抽象方法,下标值与元素值搞混了,数组该用[]时不用,不该用的地方又加上了[],getMin()方法里又用了一个没有定义的变量max,同理getMax里又用了没有定义的arr……
温馨提示:答案为网友推荐,仅供参考
相似回答