我的作业由几个小任务组成:
我可以在主要课程中完成所有工作,但在我看来,我最好开始一个新的类 - handleArray 。
如果我开始上课:
public class handlyArray{
protected int [] arr = new int[];
}
但如果我这样做,我应该写一个“get”和“set”函数来获取数组的长度吗?
问题在于,当我这样做时会弹出一个错误 - “Array initilizer expected”。
我在课堂上的其他功能:
public void fillArray(handleArray arr, int k){
Random rand=new Random();
for (int i = 0; i <k ; i++) {
int value = rand.nextInt(1024);
arr[i]=value;
}
}
- 为redblackTree创建节点并将其插入树中的函数
有关如何构建它的任何建议? 我可以构建完全没有属性的类吗?
谢谢!
答案 0 :(得分:1)
我担心这是作业,所以我会给你一个概述并让你详细说明。
是的,您可以在新课程中构建一个getter和setter,例如:
public int[] getArray() {
return arr;
}
public void setArray(int[] arr) {
this.arr = arr; //
}
至于获取长度,你不需要一个方法,因为你可以调用上面的getter并询问它的长度,例如
int arrayLength = handlyArray.getArray().length;
最后是的,你需要先设置你的数组,如果你把一个初始化的数组传递给可以正常工作的setter,例如。
handlyArray.setArray(new int[] {200, 400, 800});
祝你好运,随时可以询问你是否需要进一步解释。
答案 1 :(得分:1)
您可以在方法中对数组进行inisialize,如下所示:
public void fillArray(handlyArray arr, int k) {
Random rand = new Random();
arr.arr = new int[k];//<<---------------------Initialize the array
for (int i = 0; i < k; i++) {
int value = rand.nextInt(1024);
arr.arr[i] = value;// Note to fill the array you have to use arr.arr not just arr
}
}
and handlyArray应该是这样的:
public class handlyArray {
protected int[] arr;//<<---------------------Just declare the array
}
使用fillArray
方法可以使用:
a.fillArray(new handlyArray(), length);
答案 2 :(得分:0)
我不这么认为。我会在某处做一个静态方法:
public static int[] randomArray(int size){
Random rand=new Random();
int[] arr = new int[size];
for (int i = 0; i < size ; i++) {
int value = rand.nextInt(1024);
arr[i]=value;
}
return arr;
}
现在,对于红/黑树,我相信TreeSet是用红/黑树实现的。
答案 3 :(得分:0)
您无法设置数组长度。必须在初始化期间设置数组的长度。您可以在类的构造函数中传递数组的长度:
public class HandleArray {
protected int [] arr;
public HandleArray(int length) {
arr = new int[length];
}
}