Условие задачи:
Проверка URL-адреса
В этой задаче тебе нужно выполнить проверку URL-адреса.
Простая схема URL-адреса выглядит так:
<сетевой протокол>://<название ресурса>.<домен>
Метод checkProtocol(String) проверяет, какой сетевой протокол (http или https) у URL-адреса, полученного входящим параметром, и возвращает результат проверки — строку название сетевого протокола. А метод checkDomain(String) проверяет, какой домен (com, net, org или ru) у URL-адреса, полученного входящим параметром, и возвращает результат проверки — строку название домена.
Если URL-адрес начинается не с http или https, то результат будет — "неизвестный". Если URL-адрес заканчивается не на com, net, org или ru, то результат будет — "неизвестный".
main не принимает участие в тестировании.
Требования:
1. Нужно, чтобы метод checkProtocol(String) был реализован согласно условию.
2. Нужно, чтобы метод checkDomain(String) был реализован согласно условию.
Написал метод checkProtocol(String) так:
public static String checkProtocol(String url) {
if (url.startsWith("http")){
return "http";
}else if (url.startsWith("https")){
return "https";
}else {
return "неизвестный";
}
}
Валидатор не пропускает, метод работает неверно.
Посмотрел верное решение- нужно сначала проверить https, только потом http, т.е. сделать так
public static String checkProtocol(String url) {
if (url.startsWith("https")){
return "https";
}else if (url.startsWith("http")){
return "http";
}else {
return "неизвестный";
}
}
Вопрос, в чем разница?
Igor G
15 уровень
Не пониманию, в чем разница работы метода
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Andrey Java Developer в Инфотранс
18 апреля 2021, 13:26
Да, Алексей судя по всему прав.
0
Алексей Java Developer Expert
18 апреля 2021, 13:22полезный
https:://yandex.ru - начинается с https ? да. Начинается c http ? ДА.
Отсюда мораль - если проверять сначала на http, то строки c https тоже пройдут эту проверку.
+4
Igor G
18 апреля 2021, 13:33
спасибо)
0