Валидатор не пропускает.
Возможно, из-за левых пробелов в печати.
package com.javarush.task.task15.task1527;
//import com.sun.jndi.ldap.sasl.SaslInputStream;
import org.w3c.dom.ls.LSOutput;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Парсер реквестов
*/
public class Solution {
public static void main(String[] args) throws IOException {
//add your code here
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String link = reader.readLine(); // считываем URL
String[] links2 = link.split("\\?"); // делим URL на две части (до "?" и после)
String part2 = links2[1]; // берем вторую часть ссылки
String[] parameters = part2.split("&"); // делим ее на параметры
for (String parameter : parameters){ // для каждого параметра
String[] pp = parameter.split("="); // делим на 2 части
String print = pp[0]; // берем 1-ю честь (само имя параметра)
System.out.print(print + " ");} // печатаем имя параметра
System.out.println("");
for (String parameter : parameters) { // для каждого параметра (снова)
if (parameter.contains("obj")){ // проверяем параметры на наличие "obj"
String[] par = parameter.split("="); // делим на 2 части
String value = par[1]; // берем вторую чать (значение)
if (value.contains(".")) { // если есть точка
try {
double d = Double.parseDouble(value); // парсим в дробное число
alert(d);} // вызываем метот
catch (Exception e){}
}
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);
}
}