Не пойму в чем дело. Все работает.
package com.javarush.task.task15.task1527;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Парсер реквестов
*/
public class Solution {
public static void main(String[] args) {
//add your code here
String inputData = null;
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
try {
inputData = bufferedReader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
ArrayList<String> resultDataList = new ArrayList<>();
char charArray[] = inputData.toCharArray();
/* Распарсивание строки в массив */
int storedIndex = 0;
String dataToAdd = null;
for (int i = 0; i < charArray.length; i++) {
if (storedIndex == 0 && String.valueOf(charArray[i]).equals("?")) {
storedIndex = i;
} else {
if (String.valueOf(charArray[i]).equals("&") || String.valueOf(charArray[i]).equals("=")) {
dataToAdd = inputData.substring(storedIndex + 1, i);
//System.out.println("DataToAdd: " + dataToAdd);
resultDataList.add(dataToAdd);
storedIndex = i;
}
}
}
/* Удаляем целые числа */
int resultDataListSize = resultDataList.size()-1;
for (int i = 0; i <= resultDataListSize; i++) {
String elementOfDataList = resultDataList.get(i);
for(int a = 0; a<=9; a++){
if (elementOfDataList.contains(String.valueOf(a)) && !elementOfDataList.contains(".")){
resultDataList.remove(i);
i--;
resultDataListSize--;
break;
}
}
}
for (String elementOfArray : resultDataList) {
try { // Если можем получить Double - то это Double
alert((double)Double.parseDouble(elementOfArray));
}
catch (Exception e) { // Если нет, то string
alert((String)elementOfArray);
}
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}