Не пойму уже чет куда копать. Протестировал на разных вариантах, все работает корректно вроде.
package com.javarush.task.task15.task1527;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
/*
Парсер реквестов
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String url = reader.readLine();
//напишите тут ваш код
String urlReplace = url.replaceAll("^.+\\?","");
// System.out.println(urlReplace);
String[] array = urlReplace.split("[&]");
// System.out.println(Arrays.toString(array));
String[] arrayReady = new String[array.length];
for (int i = 0; i < array.length; i++) {
arrayReady[i] = array[i].replaceAll("=.+","");
System.out.print(arrayReady[i] + " ");
}
System.out.println();
for (int i = 0; i < array.length; i++) {
if (arrayReady[i].equals("obj")) {
String temp = array[i].replaceAll("^.+=","");
if (temp.contains(".") || temp.matches("[0-9]")){
try {
alert(Double.parseDouble(temp));
} catch (NumberFormatException e) {
alert(temp);
}
} else alert(temp);
}
}
// Arrays.stream(array).forEach(System.out::println);
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}