На вход подаётся адрес, к примеру http://robota245.com Надо проверить его на валидность. Адрес должен начинаться с названия протокола, допустимые - http:// или https:// www не обязательно доменная зона должна разделяться точкой, допустимые - com, org, net другие точки в названии адреса а так же спецсимволы не допускаются. Надо реализовать без использования регулярных выражений, только при помощи стандартных возможностей класса String. И я застопорился в самом начале, помогите разобраться. Не могу сообразить как проверить на начало http:// или https://, пытаюсь перевести в массив char чтобы проверить по символьно, а оно не получается...
public static void main(String[] args) {
}
public static boolean validate(String address){
if (address == null){
return false;
}
if (address.isEmpty()){
return false;
}
char[] chars = address.toCharArray();
for (int i = 0; i < chars.length; i++) {
if (chars[0] == 'h' && chars[1] == 't' && chars[2] == 't' && chars[3] == 'p'){
if (chars[4] == ':' && chars[5] == '/' && chars[6] == '/'){
}
}
}
return true;
}
if (address.startsWith("http://") || address.startsWith("https://")) {
}
Советую изучить все методы класса String https://docs.oracle.com/javase/8/docs/api/java/lang/String.html
Не стоит заморачиваться с регулярными выражениями и проверками строк для валидации URL - используйте для этого специальный класс java.net.URL
:
URL url = new URL("http://...");
В случае, если адрес невалидный - будет выброшено исключение, которое можно обработать. Для того, чтобы проверить протокол, нужно сравнить значение url.getProtocol()
с http
и https
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Использую MediaMetadataRetriever для получение тегов, но русские теги иногда в ISO-8859-1, что при переводе в Windows-1251 должны читаться, однако у меня такого...
Я хотел бы добавить хеш-информацию к моим модулям, которые находятсяв в jar-файлахДля этого я воспользовался опциями --hash-modules и --module-path jar утилиты