Как инициализировать массив из другого класса?
Номера Классов:
public class Numbers { private Float [] numbers; private int default_size = 10; public Numbers() { /// write code here to intialize a "default" array since this is the default constructor numbers = new Float[default_size]; for(int i = 0; i < default_size; i++) numbers [i] = (float) 0.0; } public Numbers (int size) { /// write code here to initialize an "initial" array given the parameter size as this is an initial constructor numbers = new Float[size]; } public void initValuesInArray() { /// write code here to intialize the values in the array Scanner scan = new Scanner(System.in); for (int i = 0; i < numbers.length; i++) { System.out.println("Enter Value : "); numbers[i] = scan.nextFloat(); } } public String toString() { // write code to return the values in the array in a list format - one value per line for (int i = 0; i < numbers.length; i++) System.out.println(numbers[i]); return " "; } public float calcAverage() { // write code to return the average of the values in the array double sum = 0.0; for (int i = 0; i < numbers.length; i++) sum += numbers[i]; double average = sum / numbers.length; System.out.println(average); return (float) average; } } Class Main: public class Main { public static void main (String [] args) { // write the code here to implement the menu as specified in Lab 1 boolean menuLoop = true; while(true) { System.out.println("Enter 1 to initialize a default array"); System.out.println("Enter 2 to initialize an array of input size"); System.out.println("Enter 3 fill array with values"); System.out.println("Enter 4 display values in array"); System.out.println("Enter 5 to display average of the values in the array"); System.out.println("6 to quit\n"); Numbers obj = new Numbers(); Scanner scan = new Scanner(System.in); int i = scan.nextInt(); switch (i) { case 1: obj = new Numbers (); break; case 2: System.out.println("Enter the new size of array: "); int x = scan.nextInt(); Numbers [] numbers = new Numbers[x]; break; case 3: System.out.println("Enter the float numbers as values in the array: "); obj.initValuesInArray(); break; case 4: obj.toString(); break; case 5: obj.calcAverage(); break; case 6: System.exit(0); break; default : System.out.println("Invalid Entry..."); break; } } } }
Он должен иметь возможность изменять размер массива на основе пользовательского ввода, а затем пользователь может вводить значения в массив.
Что я уже пробовал:
Я пытаюсь инициализировать массив на основе пользовательского ввода, чтобы он мог иметь любой пользовательский размер. По умолчанию я инициализировал массив до 10 со всеми значениями 0.0 но когда я пытаюсь вызвать метод который инициализирует массив ничего не происходит и значения ни размер ни значения в массиве меняются