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

时间:2016-08-22 12:40:25

标签: java arrays

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);

}

我没有通过反转array1的索引值并将其存储在array2中来获取array2的输出。谁能告诉我原因?

3 个答案:

答案 0 :(得分:3)

代码有两个错误:

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

更改您的代码

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 :(得分:2)

有两个错误:

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 :(得分:0)

有几件事你错过了。

  1. 作业array1[i]=array2[j];应该是另一种方式。
  2. 循环应该遍历array2for(int num: array1)应为for(int num: array2)
  3. 在这里,我为你解决了这个问题:

        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);
        }