public static String changePath(String path, String jdk) {
//напишите тут ваш код
String [] words = Arrays.stream(path.split("/")).toArray(String[]::new);
for(int i=0;i<words.length;i++)
if(words[i].startsWith("jdk")){
words[i]=jdk;
break;
}
return String.join("/",words)+"/";
}
ведь можно же разбить строку на слова и найдя нужное слово просто заменить его. работает абсолютно одинаково. наверное просто хочет использование indexOf увидеть в коде
MoHaX GG
28 уровень
очень странно, почему не принимает этот вариант, ведь он работает
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
MoHaX GG
31 августа 2023, 16:36
действительно, почкму я так раньше не сделал) спасибо!
0
Денис Enterprise Java Developer
31 августа 2023, 16:32полезный
Ну как минимум твой код не обрабатывает случай когда в пути нет последнего слеша, ты искажаешь данные. Можно было бы еще доколупаться до того что ты так поменяшь все jdk в строке, а не только первый, но думаю это для задачи не важно.
Ну и да, зачем чесать левой пяткой правое ухо черед стримы, если ровно тоже самое делает просто метод split? :)
А если ты умеешь в стримы, так умей до конца.
+1