Валидатор не принимает решение, не пойму, почему. Говорит вывод не согласно условию.
Но вроде всё правильно: имена аргументов в строчку с пробелами, ниже выводятся значения аргументов: и double и string.
Видимо, не замечаю какой-то детали, помогитееее :)
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) {
try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
String url = br.readLine();
StringBuilder result = new StringBuilder("");
int position = url.indexOf("?");
//отсекаю лишнее
url = url.substring(position+1);
//получаю массив параметров
String[] data = url.split("&");
ArrayList<String> arguements = new ArrayList<>(1);
//если у параметра есть значение, вычленяю и его
for (String s: data) {
int pos = s.indexOf("=");
if (pos!=-1) {
String[] arg = s.split("=");
result.append(arg[0] + " ");
arguements.add(arg[1]);
} else
result.append(s + " ");
}
//вывожу на экран список параметров
System.out.println(result.toString().trim());
//вывожу на экран список значений с помощью метода alert
for (String s: arguements) {
try {
Double d = Double.parseDouble(s);
alert(d);
} catch (Exception e) {
alert(s);
}
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}