Ошибка возникает в методе checkDomain, а именно - при попытке вернуть последний элемент массива вылетает исключение ArrayIndexOutOfBoundsException. Почему-то при попытке разделить строку точкой, метод split() не работает и в массив вообще ничего не записывается. Подскажите как решить проблему?
package com.javarush.task.pro.task09.task0912;
/*
Проверка URL-адреса
*/
public class Solution {
public static void main(String[] args) {
String[] urls = {"https://javarush.ru", "https://google.com", "http://wikipedia.org", "facebook.com", "https://instagram", "codegym.cc"};
for (String url : urls) {
String protocol = checkProtocol(url);
String domain = checkDomain(url);
System.out.println("У URL-адреса - " + url + ", сетевой протокол - " + protocol + ", домен - " + domain);
}
}
public static String checkProtocol(String url) {
if (url.startsWith("http:") || url.startsWith("https:")) {
String[] address = url.split(":");
return address[0];
}
return "неизвестный";
}
public static String checkDomain(String url) {
if (url.endsWith(".com") || url.endsWith(".net") || url.endsWith(".org") || url.endsWith(".ru")) {
String[] address = url.split(".");
return address[address.length-1];
}
return "неизвестный";
}
}