волком выть на валидатор...все варианты проверил, мне нравятся, вывод по условию
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 Exception {
//add your code here
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String url, key = "";
int index;
String obj = "";
String tmp = "";
ArrayList<String> list = new ArrayList<>();
boolean doIt = true;
url = reader.readLine();
index = url.indexOf("?")+1;
key = url.substring(index);
while (doIt) {
// System.out.println(key);
if (key.contains("&")) {
tmp = key.substring(0, key.indexOf("&"));
if (tmp.contains("=")) {
list.add(tmp.substring(0, tmp.indexOf("=")));
list.add(tmp.substring(tmp.indexOf("=")+1));
} else {
list.add(tmp);
list.add("");
}
index = key.indexOf("&")+1;
key = key.substring(index);
} else {
tmp = key;
if (tmp.contains("=")) {
list.add(tmp.substring(0, tmp.indexOf("=")));
list.add(tmp.substring(tmp.indexOf("=")+1));
} else {
list.add(tmp);
list.add("");
}
doIt = false;
}
}
for (int i = 0; i < list.size()-1; i += 2) {
if (i != list.size()-2) {
System.out.print(list.get(i) + " ");
} else {
System.out.println(list.get(i));
}
}
for (int i = 0; i < list.size()-1; i++) {
if (list.get(i).equals("obj")) {
obj = list.get(i + 1);
}
}
try {
alert(Double.parseDouble(obj));
} catch (Exception e) {
alert(obj);
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
// System.out.println("String: " + value);
}
}