Вывод на экран верный, но валидатор не пропускает.
package com.javarush.task.task15.task1527;
/*
Парсер реквестов
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Solution {
public static void main(String[] args) throws IOException {
//add your code here
InputStreamReader inputStringURL = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(inputStringURL);
String stringURL = reader.readLine();
stringURL = stringURL.substring(stringURL.indexOf("?") + 1);
String[] stringURLparts = stringURL.split("&");
Map<String,String> argValue = new HashMap<String,String>();
ArrayList<String> arguments = new ArrayList<String>();
ArrayList<String> values = new ArrayList<String>();
for(int i=0;i<stringURLparts.length;i++) {
String argument; String value;
if (stringURLparts[i].contains("=")) {
argument = stringURLparts[i].substring(0,stringURLparts[i].indexOf("="));
value = stringURLparts[i].substring(stringURLparts[i].indexOf("=")+1);
}
else { argument = stringURLparts[i];
value = null;
}
arguments.add(argument);
values.add(value);
argValue.put(argument,value);
}
for(String a : arguments) {
System.out.print(a + " ");
}
System.out.println();
for(String a : arguments) {
if(a.equals("obj")) {
String s = argValue.get(a);
if(s.contains(".") && s!=null) {
try {
double d = Double.parseDouble(s);
alert(d);
}
catch (Exception e) {
alert(s);
}
}
}
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}