Вывод получается корректный, валидатор не пропускает. Что не так?
package com.javarush.task.task15.task1527;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Парсер реквестов
*/
public class Solution {
public static void main(String[] args) throws IOException {
//add your code here
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String text = reader.readLine();
if (text.contains("lvl")) {
lvl(text);
} else obj(text);
}
public static void alert(double value) {
System.out.println("double " + value);
}
public static void alert(String value) {
System.out.println("String " + value);
}
public static void lvl(String text) {
List<String> list = new ArrayList<>();
char vopros = (char) text.indexOf('?');
char iFirst = (char) text.indexOf("&");
char iLast = (char) text.lastIndexOf("&");
char isFirst = (char) text.indexOf('=');
char isLast = (char) text.lastIndexOf('=');
if (text.contains("lvl")) {
list.add(text.substring(vopros + 1, isFirst));
list.add(text.substring(iFirst + 1, iLast));
list.add(text.substring(iLast + 1, isLast));
} else {
}
for (String pair : list) {
System.out.print(pair + " ");
}
}
public static void obj(String text) {
char vopros = (char) text.indexOf('?');
char iFirst = (char) text.indexOf("&");
char iLast = (char) text.lastIndexOf("&");
char isFirst = (char) text.indexOf('=');
char isLast = (char) text.lastIndexOf('=');
System.out.println(text.substring(vopros + 1, isFirst) + " " + text.substring(iFirst + 1, isLast));
if (text.contains("obj")) {
String number = text.substring(isFirst + 1, iFirst);
Double numberDouble = Double.parseDouble(number);
alert(numberDouble);
} else {
String number1 = text.substring(isFirst + 1, iLast);
alert(number1);
}
}
}