Здравствуйте!
Ошибка по 3 пункту: вывод должен быть согласно условию, но выводит то что надо.
К сожалению, с телефона не могу другие варианты прогнать для проверки. Подскажите, в каком направлении хоть искать...
P.S: Вместо вывода параметров в консоль сразу из тела цикла, попробовал сложить их в список, и только потом, перед вызовом alert(), выводить этот список, валидатор все равно не пускает ((((((
package com.javarush.task.task15.task1527;
/*
Парсер реквестов
*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) {
//add your code here
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String obj = "startValue";
ArrayList<String> list = new ArrayList<String>();
try
{
String s = br.readLine();
int startIndex = s.indexOf("?");
int endIndex = s.indexOf("&", startIndex);
String parametr;
String paramKey;
String paramValue;
while(startIndex != -1 && endIndex != -1) {
parametr = s.substring(startIndex+1, endIndex);
if(parametr.contains("=")) {
startIndex = parametr.indexOf("=");
paramKey = parametr.substring(0, startIndex);
paramValue = parametr.substring(startIndex+1);
if (paramKey.equals("obj")) {
obj = paramValue;
list.add(paramKey);
// System.out.print(paramKey + " ");
} else
list.add(paramKey);
// System.out.print(paramKey + " ");
} else
list.add(parametr);
//System.out.print(parametr + " ");
startIndex = endIndex;
endIndex = s.indexOf("&", startIndex+1);
}
parametr = s.substring(startIndex+1);
if(parametr.contains("=")) {
startIndex = parametr.indexOf("=");
paramKey = parametr.substring(0, startIndex);
paramValue = parametr.substring(startIndex+1);
if (paramKey.equals("obj")) {
obj = paramValue;
list.add(paramKey);
// System.out.print(paramKey + " ");
} else
list.add(paramKey);
// System.out.print(paramKey + " ");
} else
list.add(parametr);
// System.out.print(parametr + " ");
}
catch (Exception e)
{
System.out.println("Bag here");
}
for(int i = 0; i < list.size(); i++)
System.out.print(list.get(i) + " ");
System.out.println();
try
{
double d = Double.parseDouble(obj);
alert(d);
}
catch (Exception e)
{
alert(obj);
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}