Вывод правильный, валидатор не пропускает по одному пункту.
package com.javarush.task.task15.task1527;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Парсер реквестов
*/
public class Solution {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String S="";
double dPer;
try {S=reader.readLine();} catch (IOException e) {}
int index = S.indexOf('?');
String FirstSplit = S.substring(index+1);
String Sarr[] = FirstSplit.split("[&]");
ArrayList<String> ParamName = new ArrayList<String>();
ArrayList<Double> paramValue = new ArrayList<Double>();
String Sarr1[] = {};
String Sarr2[] = {};
for (String W:
Sarr) {
if (W.contains("=")) {
Sarr1 = W.split("=");
System.out.print(Sarr1[0]);
}
System.out.print(" ");
}
System.out.println("");
for (String W :
Sarr) {
if (W.contains("=")) {
Sarr1 = W.split("=");
// System.out.println(Sarr1[0]+" ");
// ParamName.add(Sarr1[0]);
if (Sarr1[0].equals("obj")) {
try {
double D = Double.parseDouble(Sarr1[1]);
alert(D);
} catch (NumberFormatException e) {
alert(Sarr1[1]);
}
}
}
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}