Я не вижу причин, по которым вывод для этого сегмента кода должен быть другим в нижней части, чем сверху.Не понимаю выход
public static void main(String[] args) {
int[] list1 = {2, 4, 8, 16, 32, 64, 128, 256};
int[] list2 = list1;
int max = list1.length - 1;
for (int k = 0; k < list1.length; k++) {
System.out.print(list1[k] + " ");
list2[k] = list1[max - k];
}
System.out.print("\n");
for (int k = 0; k < list1.length; k++) {
System.out.print(list1[k] + " ");
}
}
ВЫХОД:
2 4 8 16 32 64 128 256
256 128 64 32 32 64 128 256
Верхняя часть выходного сигнала является то, что это песни1. Я распечатываю list1 для второго, но я не вижу причин для его отличия. list2 изменяется, но list1 никогда не изменяется.
Это из школы, и я просто смущен тем, почему два выхода отличаются друг от друга.
EDIT: Я знаю, что это как-то связано с list2[k] = list1[max - k];
, но я не понимаю, почему это изменило бы список1 в любом случае.
Если один из наших ответов помог вам, пожалуйста, примите его как ответ. – childofsoong