Никак не проходит 3 условие. Пробовал на разных строках, выводит вроде все верно, уже не знаю даже что может не нравиться валидатору. Может есть у кого какие мысли?
package com.javarush.task.task15.task1527;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
/*
Парсер реквестов
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String url = reader.readLine();
//напишите тут ваш код
String subUrl = url.substring(url.indexOf("?") + 1);
String[] paramPare = subUrl.split("&");
Map<String, String> paramMap = new HashMap<>();
Arrays.stream(paramPare).forEach(s -> {
String[] paramValue = s.split("=");
if (paramValue.length == 2) {
paramMap.put(paramValue[0], paramValue[1]);
} else {
paramMap.put(paramValue[0], null);
}
});
System.out.println(String.join(" ", paramMap.keySet()));
if (paramMap.containsKey("obj") && paramMap.get("obj") != null) {
String value = paramMap.get("obj");
if (isDouble(value)) {
alert(Double.parseDouble(value));
} else {
alert(value);
}
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
public static boolean isDouble (String str) {
try {
Double.parseDouble(str);
} catch (Exception e) {
return false;
}
return true;
}
}