Написал код к решению задачи, она довольно простая, но вот мое решение мне не нравится, уверен, что можно сделать проще, но вот как пока не знаю. Надеюсь, что кто-то подскажет, что почитать или в каком направлении переписать код, чтобы он получился меньше и понятнее. Считать с консоли URL-ссылку. Вывести на экран через пробел список всех параметров (Параметры идут после ? и разделяются &, например, lvl=15). URL содержит минимум 1 параметр. Выводить параметры нужно в той же последовательности, в которой они представлены в URL. Если присутствует параметр obj, то передать его значение в нужный метод alert. alert(double value) — для чисел (дробные числа разделяются точкой) alert(String value) — для строк Обрати внимание на то, что метод alert необходимо вызывать ПОСЛЕ вывода списка всех параметров на экран.

public class Solution {
    public static void main(String[] args) throws IOException{
        //add your code here
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String URL = reader.readLine();
        String secURL = URL.substring(URL.indexOf("?")+1,URL.length());
        String[] arrURL = secURL.split("\\&");
        for(String s: arrURL){
            if(s.contains("=")) {
                System.out.print(s.substring(0, s.indexOf("="))+" ");
            }else {
                System.out.print(s + " ");
            }
        }
        for(String s: arrURL){
            if(s.contains("obj")) {
                System.out.println();
                try {
                    alert(Double.parseDouble(s.substring(s.indexOf("=")+1,s.length())));
                }catch (Exception e){
                    alert(s.substring(s.indexOf("=")+1,s.length()));
                }
            }
        }

    }

    public static void alert(double value) {
        System.out.println("double: " + value);
    }

    public static void alert(String value) {
        System.out.println("String: " + value);
    }