На вход подаётся адрес, к примеру 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.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей