Java数组,将一个数组的值反转为另一个数组
我不是通过反转array1的索引值并将其存储在array2中来获得array2的输出。有人能告诉我原因吗?代码有两个错误: 您更改了array1而不是array2的值 您打印的是原始数组array1,而不是还原数组array2。 更改代码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 //
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);
}