Понимаю что слишком нагромождено, но почему не проходит валидацию ?
пробовал и
http://javarush.ru/alpha/index.html?obj=3.14&name=Amigo
и
http://javarush.ru/alpha/index.html?obj=314&name=Amigo
package com.javarush.task.task15.task1527;
/*
Парсер реквестов
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
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();
reader.close();
String s = url.trim().substring(url.indexOf('?') + 1);
String obj = "obj";
if (s.startsWith(obj)) {
List<String> objList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
String[] strings = s.split("&");
for (int i = 0; i < strings.length; i++) {
String a = strings[i];
if (a.contains("=")) {
String sub = a.substring(0, a.indexOf("="));
String sub2 = a.substring(a.indexOf("=") + 1);
objList.add(sub);
valueList.add(sub2);
} else {
objList.add(a);
}
}
objList.forEach(l -> System.out.print(l + " "));
System.out.println();
for (String l : valueList) {
try {
double d = Double.parseDouble(l);
alert(d);
} catch (Exception ex) {
alert(l);
}
}
} else {
List<String> list = new ArrayList<String>();
String[] strings = s.split("&");
for (int i = 0; i < strings.length; i++) {
String a = strings[i];
if (a.contains("=")) {
String sub = a.substring(0, a.indexOf("="));
list.add(sub);
} else {
list.add(a);
}
}
list.forEach(l -> System.out.print(l + " "));
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}