我是Java面向对象编程的新手,所以我将尽力解释我的问题。我有一个抽象类,其中包含一个整数数组以及两个将使用该数组的方法。除非告知这样做,否则阵列不会填充。
我问用户他们想要数组中有多少个元素,然后填充它。应该使用两种方法来处理给定的数组。问题是我不知道如何将数组分配给抽象类,以便同一数组被其他两个方法携带。
我的抽象类
public abstract class MyAbstractClass {
public int[] a;
//Extend this class and implement the following methods:
abstract public int selection1(int N);
abstract public int selection2(int N);
}
我的班级包含主班
public class CreateArray extends MyAbstractClass {
CreateArray myArray = new CreateArray();
public int selection1(int N) {
int[] arr = myArray.a;
System.out.println(Arrays.toString(arr));
return N;
}
public int selection2(int N) {
int[] arr = myArray.a;
System.out.println(Arrays.toString(arr));
return N;
}
public static void main(String args[]) {
Scanner scnr = new Scanner(System.in);
System.out.print("How many elements would you like in your array?: ");
int numberOfElements = scnr.nextInt();
//I am unable to access myArray so I can fill the array with numbers
fillArray(myArray.a, numberOfElements);
myArray.selection1(numberOfElements);
myArray.selection2(numberOfElements);
}
public static int[] fillArray(int[] arr, int numOfElements) {
for(int i = 0; i < numOfElements; i++) {
arr[i] = (int)(Math.random() * 100);
}
return arr;
}
}
我在这里想念什么?这是这样做的正确方法吗?这两个打印myArray.a的打印语句应该打印相同的数组。