Что не так? тестировал, вроде всё работает?
package com.javarush.task.task15.task1527;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
Парсер реквестов
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String url = reader.readLine();
String myStr = null;
Pattern pattern = Pattern.compile("\\?.+");
Matcher matcher = pattern.matcher(url);
while (matcher.find()){
myStr = matcher.group().substring(1);
}
String[] arraySplit = myStr.split("\\&");
myStr = null;
for(String y: arraySplit){
if(y.contains("obj")){
myStr = y;
}
}
for (int i = 0; i < arraySplit.length; i++) {
Pattern pattern2 = Pattern.compile("^\\w+");
Matcher matcher2 = pattern2.matcher(arraySplit[i]);
while (matcher2.find()){
arraySplit[i] = matcher2.group();
}
}
for(String x: arraySplit){
System.out.print(x+" ");
}
System.out.println();
if(myStr!=null) {
int numI = myStr.indexOf("=");
String result = myStr.substring(numI + 1);
if (result.matches("\\d+\\.\\d+")) {
alert(Double.parseDouble(result));
} else {
alert(result);
}
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}