I get the desired result but can't pass the test...
package com.codegym.task.task15.task1527;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/*
Request parser
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String input = reader.readLine();
boolean isObj = input.contains("obj");
String regex = "\\d+";
double doub = 0;
String string = null;
URL url = new URL(input);
String queryString = url.getQuery();
String[] params = queryString.split("[&=]");
List<String> parameters = new ArrayList(Arrays.asList(params));
parameters.remove(parameters.size() - 1);
if (!isObj) {
for (String s : params) {
if (s.matches(regex) && !s.contains(".")) {
parameters.remove(s);
for (String i : parameters) {
System.out.print(i + " ");
}
}
}
} else {
for (String s : params) {
if (s.contains(".")) {
try {
doub = Double.parseDouble(s);
parameters.remove(s);
} catch (NumberFormatException e) {
string = s;
parameters.remove(s);
}
}
}
for (String s : parameters) {
System.out.print(s + " ");
} System.out.println();
if (string==null) {
alert(doub);
} else alert(string);
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}