в строках 12-15 мы создаем реверс для готового массива, что и нужно для решения задачи.
но мне не понятны ходы действий...
.....
1. с циклом for я все понимаю, кроме i < array.length / 2.
длина массива 9 или 18? (если я правильно понял, то длина массива- это количество ячеек в строке, т.е. в нашем случае 9) и почему нужно ее делить на 2?
.....
2. мы создаем новую переменную temp и приравниваем ее ко всему массиву array[i], далее весь массив array[i] мы приравниваем к этому же массиву, но измененным (вместо самого массива длина массива (array.length)), отнимаем i и постоянную 1. ( в значение i подставляется значения от 0 до 9? т.е. пока она не будет больше длины массива деленной на 2)? и почему всегда отнимаем единицу?
....
3. этот измененный массив приравниваем к новой переменной temp, которую ранее приравняли к самому массиву.
т.е. изменненный массив array[array.length - i - 1] - это и есть реверс?
.....
4. тогда я не понял, как это выглядит...
array[9 - 0 - 1, 9 - 1 -1, 9 - 2 - 1, 9 - 3 - 1....]= [8, 7, 6, 5...].
как тогда получается сам реверс в ответе? [99, 88, 77...]
......
5. и я не понял, в методе main три строки:
printArray
reverseArray
printArray.
по логике же должен выводиться 3 раза массив?
11, 22, 33...
99, 88, 77...
11, 22, 33...
но в ответе выводится только первая строка и вторая(реверс).
public class Solution {
public static void main(String[] args) {
int[] array = {11, 22, 33, 44, 55, 66, 77, 88, 99};
printArray(array);
reverseArray(array);
printArray(array);
}
public static void reverseArray(int[] array) {
//напишите тут ваш код
for (int i = 0; i < array.length / 2; i++){
int temp = array[i];
array[i] = array[array.length - i - 1];
array[array.length - i - 1] = temp;
}
}
public static void printArray(int[] array) {
for (int i : array) {
System.out.print(i + ", ");
}
System.out.println();
}
}