【发布时间】:2020-07-27 17:16:51
【问题描述】:
试图反转用户输入的数组。
我的代码
Scanner s = new Scanner(System.in);
System.out.println("Enter numbers: ");
int[] array = new int[5];
int[] reversed = new int[array.length];
for (int i = 0; i < array.length; i++) {
array[i] = s.nextInt();
reversed[i] = array[array.length - 1 - i];
}
System.out.println(Arrays.toString(reversed));
当我进入时:
10
20
30
40
50
我明白了:
output:
[0, 0, 30, 20, 10]
然而,当我对数字进行硬编码时,它工作得很好。
int[] array = {10, 20, 30, 40, 50};
int[] reversed = new int[array.length];
for (int i = 0; i < array.length; i++) {
reversed[i] = array[array.length - 1 - i];
}
System.out.println(Arrays.toString(reversed));
我回来了:
[50, 40, 30, 20, 10]
不知道我在这里做错了什么。我知道还有其他方法可以做同样的事情,但我想弄清楚为什么我这样做的方式会给我带来问题。
【问题讨论】: