Обновление пути

  • 10
  • Недоступна
Реализуй метод changePath(String, String) так, чтобы он заменял версию jdk в пути, полученном первым параметром метода, на версию, полученную вторым параметром, и возвращал новый путь. Версия jdk начинается со строки "jdk" и заканчивается на "/". Пример: путь - "/usr/java/jdk1.8/bin/" версия jdk - "jdk-13"
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (90)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Evgeny Tikhomolov
Уровень 7, Magnitogorsk, Russian Federation
24 июня, 12:30
Если вдруг поможет, пытался использовать переменную jdk13, объявленную в методе main, не проходило, но спустя n-количество часов, дошло что она в метод приходит не как jdk13, а как jdk, сам удивился своей тупости:D также валидатор чувствителен, обозначаете вы индекс начала строки jdk или jdk1.8, нужно обозначить как в условии просто jdk.
Евгений Дубинчук
Уровень 12, Romania
21 июня, 04:56
добрый день. Подскажите, что я сделал не так? кажется что я не правильно понял условия тк ответ верный а вот валидатор не пропускает. Заранее спасибо!
Дмитрий Воробьёв
Уровень 11, Санкт-Петербург, Russian Federation
24 июня, 12:41
Евгений, приложите пожалуйста код, который не работает
Anonymous #2978299
Уровень 11, Russian Federation
19 июня, 21:11
String[] parts = path.split("/"); for (int i = 0; i < parts.length; i++) { if (parts[i].startsWith("jdk")) parts[i] = jdk; } String result = String.join("/", parts); result = result + "/"; return result; Попробовал через сплит сделать. Вывод получается такой же, какой требует условие, но проверка не пропускает.
Tenth11
Уровень 11
10 июня, 09:45
Можно просто написать в методе: return path.replaceFirst("jdk1.8", "jdk-13") . Получиться то же самое, но не принимает.
Дмитрий Воробьёв
Уровень 11, Санкт-Петербург, Russian Federation
24 июня, 12:43
подразумевается, что при смене входящих параметров ваша программа будет работать
Sergey Sidorenko
Уровень 16, Ростов-на-Дону, Россия
11 апреля, 22:13
В задаче нужно использовать три метода. 1. Найти индекс "jdk" 1.1 Найти индекс до "/" от "jdk" 2. Создать новую строку с параметрами от "jdk" до "/" 3. Заменить новую строку на параметр jdk, метода changePath
xsidorovx
Уровень 11, Москва, Russian Federation
6 июня, 17:37
я подстрочно написал под Ваши гипотезу (ну или так думаю). public static String changePath(String path, String jdk) { //напишите тут ваш код int index0 = path.indexOf("jdk1.8"); int index1 = path.indexOf("/", index0); String x = path.substring(index0,index1); String y = path.replace(x, jdk); return y; валидатор не ест. как так?
Николай
Уровень 7, Russian Federation
21 июня, 15:00
Я сделал так же, только в четыре строки - обошелся без переменной y, вписав path.replace() сразу в return. Валидатор скушал.
Дмитрий Воробьёв
Уровень 11, Санкт-Петербург, Russian Federation
24 июня, 12:45
закомментил:
public static String changePath(String path, String jdk) {
        //напишите тут ваш код
        int index0 = path.indexOf("jdk1.8"); // ! - вот тут надо строку заменить на "jdk"
        int index1 = path.indexOf("/", index0);
        String x = path.substring(index0,index1);
        String y = path.replace(x, jdk);
        return y;
Alex Bit (Воронеж)
Уровень 25, Воронеж, Russian Federation
19 марта, 22:18
jdk объявлена в методе changePath Найти индекс jdk конца и сохранить в 1 переменную Найти индекс / в 1 переменной Присвоить строке1 подстроку между 1 и 2 переменной. Возвратить замену строки1 на jdk.
xsidorovx
Уровень 11, Москва, Russian Federation
6 июня, 18:29
тут лучше, чтобы с любыми работало индекс начало и конца так написать: int index0 = path.indexOf("jdk"); int index1 = path.indexOf("/", index0); String x = path.substring(0,index0); String y = path.substring(index1); return x + jdk + y;
Rinat
Уровень 11, Ульяновск, Russian Federation
13 марта, 08:26
У меня вопрос, а чем плохо такое решение? public static String changePath(String path, String jdk) { //напишите тут ваш код return path.replaceFirst("jdk1.8","jdk-13" ); }
Axtane
Уровень 27, Ставрополь, Russian Federation
13 марта, 13:41
видимо потому что если условие поменяется и нужно будет заменить jdk-13 обратно на jdk1.8 код работать не будет
Anton
Уровень 15, Москва, Russian Federation
16 марта, 14:44
если в в следующий раз надо будет поменять версию "jdk-13" на условно "jdk-17.1.4", этот метод не сработает.
Вася Пупкин Android Developer
22 июня, 17:26
тоже написал в одно строчку. Не принимал. Потом после чтении комментов понял, что надо программно надо найти jdk1.8 и поменят индексами. Валидатор пропустил
Даниил
Уровень 16, Ереван, Армения
27 февраля, 08:02
не могу понять где объявлена переменная jdk типа String? тут объявоена переменная jdk13 но с ней не пропускает,объясните пожалуйста.
Blynchik Работает в Pegas Touristik
6 марта, 08:02
тот же вопрос
IGOR
Уровень 13, Russian Federation
14 марта, 01:59
в методе объявлены параметры, посмотрите внимательнее
Михаил Лисицкий
Уровень 12, Ukraine
28 мая, 15:53
В метод changePath вторым параметром передается переменная jdk13, которая была обьявлена в main методе
Inna
Уровень 24, United States
16 февраля, 21:00
Почему не принимает?
String result = path.substring(10,16);
        return path.replace(result,jdk);
TripleAsh
Уровень 16, Киев, Ukraine
16 февраля, 23:52
В задании дана подсказка: "Версия jdk начинается со строки "jdk" и заканчивается на "/"." Хардкод в виде прописывания индексов строки в качестве аргументов метода не проходит.
GrowAgain
Уровень 10, Москва, Russian Federation
9 февраля, 23:04
3 варианта решения