gpt4 book ai didi

java - 如何更改 main 中使用的数组

转载 作者:行者123 更新时间:2023-12-01 16:41:29 24 4
gpt4 key购买 nike

我正在尝试初始化一个数组,然后使用另一个类(arrayCreation)更改数组的大小和元素。但是,我不知道如何做到这一点,因为我得到的只是一个元素,因为它的大小已初始化并且默认为 0。

public class sort {
public static final Scanner scanner = new Scanner(System.in);

public static void main(String[] args) {
int size = 1;
int[] array = new int[size];
initialMenuSelector(array,size);
}

public static void initialMenuRender(){
System.out.println("Main menu:");
System.out.println("1. Work with numbers");
System.out.println("2. Work with words");
System.out.println("3. Exit");
}

public static void initialMenuSelector(int[] array,int size){
initialMenuRender();
System.out.println("");
System.out.print("Choose an option: ");
int selector = scanner.nextInt();

switch(selector){
case 3:
System.out.println("");
System.out.println("Exiting...");
System.exit(0);
break;
case 2:
System.out.println("");
System.out.println("Work with words");
break;
case 1:
System.out.println("");
System.out.println("Work with numbers");
arrayCreation.arrayNumberCreation(array,size);
arrayRender(array);
break;
default:
System.out.println("");
System.out.println("Invalid selection");
initialMenuSelector(array,size);
}
}
}

最佳答案

您需要将数组创建的返回值分配回初始数组。当你将一个变量传递给java中的方法时,该变量实际上被复制到一个新的本地值。因此,更改数组后,您必须从函数返回它并分配它。所以应该是这样的。

array = arrayCreation.arrayNumberCreation(array,size);

数组大小也无法更改,因此您必须创建一个新数组并将其替换为旧数组。不知道您是否在数组创建中这样做。

关于java - 如何更改 main 中使用的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61852425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com