Java数组,将一个数组的值反转为另一个数组

Java数组,将一个数组的值反转为另一个数组,java,arrays,Java,Arrays,我不是通过反转array1的索引值并将其存储在array2中来获得array2的输出。有人能告诉我原因吗?代码有两个错误: 您更改了array1而不是array2的值 您打印的是原始数组array1,而不是还原数组array2。 更改代码 public static void main(String[]args){ //this program is to print the index values of an array in reversed order using //

我不是通过反转array1的索引值并将其存储在array2中来获得array2的输出。有人能告诉我原因吗?

代码有两个错误:

您更改了array1而不是array2的值 您打印的是原始数组array1,而不是还原数组array2。 更改代码

public static void main(String[]args){
    //this program is to print the index values of an array in reversed order using 
    //another array
    int[]array1={5,6};
    int[]array2= new int[2];
    int i;
    int j=1;

    for(i=0;i<=1;i++){

        array1[i]=array2[j];
        j--;

    }
    for(int num: array1)
        System.out.println(num);

}
在下面的代码中,我还添加了一个更具可读性的不同间距

for(i=0;i<=1;i++){

    array1[i]=array2[j];
    j--;

}
for(int num: array1)
    System.out.println(num);
有两个错误:

for (i = 0; i <= 1; i++) {
    array2[i] = array1[j];
    j--;
}
// Iterate over array2
for (int num: array2) {
    System.out.println(num);
}

有几件事你错过了

赋值数组1[i]=数组2[j];应该是相反的。 循环应该在array2上迭代。forint num:array1应该是forint num:array2。 在这里,我为您修复了它:

public static void main(String[] args) {
    int[] array1 = {5, 6};
    int[] array2 = new int[array1.length];
    int i;
    int j = array1.length -1;
    for (i = 0; i < array1.length; i++) {
        array2[i] = array1[j]; //  Fixed mistake
        j--;
    }
    for (int num : array2) { // fixed mistake
        System.out.println(num);
    }
}

你不打印阵列2?!因为在Java中,赋值将右边的值放入左边的变量中。查看循环中的赋值语句。
    public static void main(String[] args) {

        int[] array1 = { 5, 6 };
        int[] array2 = new int[2];
        int i;
        int j = 1;

        for (i = 0; i <= 1; i++) {

            array2[i] = array1[j];
            j--;

        }
        for (int num : array2)
            System.out.println(num);
    }