Реверс слов в предложении

206
25 февраля 2022, 05:50

Всем привет! В IDEA работает, а проверка выдает:

Failed test #1 of 6. Runtime error Exception in thread "main" java.lang.ClassCastException: class [Ljava.lang.Object; cannot be cast to class [Ljava.lang.String; ([Ljava.lang.Object; and [Ljava.lang.String; are in module java.base of loader 'bootstrap') at Main.reverse(Main.java:8) at Main.main(Main.java:15)

Задача. Реализуйте метод для обращения заданного массива строк. Массив может иметь любой размер. Метод может обратить и вернуть существующий массив или вернуть новый массив.

import java.util.*;
public class Main {
    public static String[] reverse(String... words) {
        // write your code here
    }
    /* Do not change code below */
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String[] words = scanner.nextLine().split("\\s+");
        String[] reversed = reverse(words);
        Arrays.stream(reversed).forEach(e -> System.out.print(e + " "));
    }
}

Мой код.

public static String[] reverse(String[] words) {
        List<String> list = Arrays.asList(words);
        Collections.reverse(list);
        return (String[]) list.toArray();
Answer 1

Если я правильно понял вашу задачу:

public static String[] reverse(String[] words) {
    Collections.reverse(Arrays.asList(words));
    return words;
}

Всего лишь нужно было убрать list.toArray()

Ну а если вам интересно почему это работает, то я вам скажу. Дело в том что Arrays.asList() создает представление над массивом, таким образом вызов метода set() на этом списке будет изменять исходный массив.

READ ALSO
Как правильно организовать классы?

Как правильно организовать классы?

Надо написать на основе алгоритма сортировочной станции калькуляторСам алгоритм довольно простой, однако мне бы хотелось реализовать его...

193
ScheduledExecutorService для длительного времени: schedule VS scheduleAtFixedRate

ScheduledExecutorService для длительного времени: schedule VS scheduleAtFixedRate

Как лучше организовать заведомо долгий отложенный поток?

177
Улучшения ввода/вывода для алгоритма

Улучшения ввода/вывода для алгоритма

Решил порешать задачи которые готовит ЯндексНаткнулся на первые трудности в виде задачи про дубликаты:

114
Помогите разобраться с версткой

Помогите разобраться с версткой

Использую библиотеку materializecssНа главной странице проекта вывожу раскрывающиеся карточки, в три колонки

80