Всем привет! В 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();
Если я правильно понял вашу задачу:
public static String[] reverse(String[] words) {
Collections.reverse(Arrays.asList(words));
return words;
}
Всего лишь нужно было убрать list.toArray()
Ну а если вам интересно почему это работает, то я вам скажу. Дело в том что Arrays.asList() создает представление над массивом, таким образом вызов метода set() на этом списке будет изменять исходный массив.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Надо написать на основе алгоритма сортировочной станции калькуляторСам алгоритм довольно простой, однако мне бы хотелось реализовать его...
Как лучше организовать заведомо долгий отложенный поток?
Решил порешать задачи которые готовит ЯндексНаткнулся на первые трудности в виде задачи про дубликаты:
Использую библиотеку materializecssНа главной странице проекта вывожу раскрывающиеся карточки, в три колонки