Elxan24-03
@Elxan24-03

Как поменять элементы массива?

public static void main(String[] args) {
        int[] arrey = {1, 2, 3, 4, 5};
        int d = arrey.length;
        System.out.println("Original:" + Arrays.toString(arrey));

        for (int index = 0; index < arrey.length; index++) {
            switch (index) {
                case 0:
                    arrey[index] = arrey[d = d - 1];
                    break;
                case 1:
                    arrey[index] = arrey[d = d - 1];
                    break;
                case 2:
                    arrey[index] = arrey[d = d - 1];
                    break;
                case 3:
                    arrey[index] = arrey[d = d - 1];
                    break;
                case 4:
                    arrey[index] = arrey[d = d - 1];


            }
System.out.println(Arrays.toString(arrey));

Написал такой код,дает такой результат
Original:[1, 2, 3, 4, 5]
[5, 4, 3, 4, 5]
Как сделать чтобы в место 4,5 были 2,1
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Добрый день.
Ответ на ваш вопрос: https://www.baeldung.com/java-invert-array
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Erik_Mironov
@Erik_Mironov
Старые вопросы: *Dies from cringe*
Простое решение с использованием Stream API:
public static void main(String[] args) {
        int[] array = {1, 2, 3, 4, 5};
        int[] result = IntStream.rangeClosed(1, array.length)
                .map(i -> array[array.length - i])
                .toArray();
        System.out.println(Arrays.toString(result));
    }


Еще проще с использованием класса Collections, интерфейса List и обертки над примитивом int:
public static void main(String[] args) {
        Integer[] array = {1, 2, 3, 4, 5};
        List<Integer> list = Arrays.asList(array);
        Collections.reverse(list);
        System.out.println(Arrays.toString(list.toArray()));
    }


Если не нравятся предыдущие варианты, то можно по классике:
public static void main(String[] args) {
        int[] array = {1, 2, 3, 4, 5};
        for (int i = 0; i < array.length / 2; i++) {
            int tmp = array[i];
            array[i] = array[array.length - 1 - i];
            array[array.length - 1 - i] = tmp;
        }
    }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
28 апр. 2024, в 19:54
2000 руб./за проект
28 апр. 2024, в 19:54
5000 руб./за проект
28 апр. 2024, в 19:44
10000 руб./за проект