首页 > 解决方案 > 在 Java 中将项目添加到数组中

问题描述

我想创建一个长度由用户指定的数组,并且还想用循环命令填充它,然后应该通过另一个循环命令将它复制到另一个数组,所以我写了一个代码,但它会生成一个尝试运行时出错

Scanner input = new Scanner(System.in);
System.out.print("Hello, Please enter the amount of numbers: ");
int n = input.nextInt();
int array1[] = new int[n];
int array2[] = new int[n];

System.out.print("Please enter your numbers: ");

for (int i = 0; i < n; i++) {
    int index = input.nextInt();
    array1 [index] = array1 [i];
}

for (int i = 0; i < n; i++) {
    array2[i] = array2[i];
}

System.out.println("Array 1 is: " +Arrays.toString(array1));
System.out.println("Array 2 is: " +Arrays.toString(array2));

因此,如果我输入的数组元素小于数组“n”的大小,则代码会运行一个问题,即所有元素都设置为零。但是例如,如果我输入大小为 5,并尝试填充数组,如果我尝试在数组中添加任何大于 5 的数字,程序就会崩溃。

我知道这个问题听起来很傻,但如果你们帮助我解决这个问题,我将不胜感激。

标签: javaarrays

解决方案


您的代码中有两个问题。

用以下代码替换您的 for(s):

    for (int i = 0; i < n; i++) {
        int element = input.nextInt(); //elemet inserted by the user
        array1[i] = element;
    }

    for (int i = 0; i < n; i++) {
        array2[i] = array1[i];
    }

推荐阅读