如何更改main中使用的数组

因此,我尝试初始化一个数组,然后使用另一个类(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);
            }
        }
评论
  • shf939899
    shf939899 回复

    在Java中,数组不是动态的。这意味着您要更改大小,以创建具有新大小的新数组,然后复制旧数组上的每个元素。或者,如果您不想手动调整数组的大小,则可以使用ArrayList

  • 哎呦喂
    哎呦喂 回复

    创建一个要增加大小的新数组。 例如, 你有

    old_array = new array[10];
    

    现在你想增加这个数组的大小 将旧值复制到新值,然后用新值替换旧值

    new_array = new Array[20];
    copy(new_array,old_array);
    old_array = new_array
    

    就这么简单