为什么在java数组中,将其传递到方法的构造函数中是非法的?

为什么在java数组中,将其传递到方法的构造函数中是非法的?,java,arrays,constructor,Java,Arrays,Constructor,我想创建一个对象,让我初始化为数组 arraysort test\u array=新的arraysort(数组到被输入) 然后它将有几种方法,如排序、删除重复项等。。但是我也希望数组在传递到类中后立即进行排序 我刚刚写了下面的代码,我不明白为什么会出错 public class arraysort{ int[] a; /* array is input when the object is created */ arraysort(int[] a){ this.a

我想创建一个对象,让我初始化为数组

arraysort test\u array=新的arraysort(数组到被输入)

然后它将有几种方法,如排序、删除重复项等。。但是我也希望数组在传递到类中后立即进行排序

我刚刚写了下面的代码,我不明白为什么会出错

public class arraysort{
   int[] a;

/* array is input when the object is created */
    arraysort(int[] a){
        this.a=a;  
    }

/*array is put into the sort method*/
    public int[] sortit(a){
        int i = 0;

        while(i<array.length){  
            i++;
        }
    return a;
    }
    public static void main(String[] args) {

    }
}
公共类数组排序{
int[]a;
/*数组是在创建对象时输入的*/
arraysort(int[]a){
这个a=a;
}
/*数组被放入排序方法中*/
公共内部[]sortit(a){
int i=0;

而(i您的
sortit
方法中有几个错误

您忘记声明参数,尝试访问不存在的数组(使用array.length)。请按以下方式尝试:

public int[] sortit(int[] a){ // <--- declare your parameters
    int i = 0;

    while(i < a.length){  //<--- access passed parameters
        //whatever you want to do
    }


    return a;
}

public int[]sortit(int[]a){/->当条件有输入错误时:-

更改此
while(我以大写字母开头的类名:-
class ArraySort

->您的
sortit(a)
方法接受输入a,但它不是必需的,因为它是一个类变量,可以在方法中直接访问


->您的
sortit(a)
方法不对
a
执行任何排序/计算,只返回它。

main()
方法为空。在
main()中实例化
arraysort
method。顺便说一句,类名应该以大写字符开头。你会遇到什么异常情况?请更准确地描述你的问题。好的,那么问题出在哪里?我说我正在处理类,它还没有完成。我说我正在处理类,它还没有完成。如果这个答案对你有帮助,请随意接受。
public static void main(String[] args) {

int[] arr=new int[3];
arr[0]=1;
arr[1]=4;
arr[2]=2;

arraysort as=new arraysort(arr);
as.sortit(arr);
}