为什么在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);
}