public class Solution {
public static void main(String[] args) throws IOException{
String input = new BufferedReader(new InputStreamReader(System.in)).readLine();//читаем строку из консоли
String txt = input.replaceAll("^(.+\\?)","");// удаляем все до знака вопроса
String[] txtArray = txt.split("\\&+");//создаем массив строк из строки txt, каждый элемент массива это выражение между знаками &
for (String s : txtArray){String tmp = s.replaceAll("=.+$",""); System.out.print(tmp + " ");}// печатаем каждый эл-т массива до знака =
System.out.println();//переходим на следующую строку
String value = "";// значение параметра obj
for (String s : txtArray){if (s.contains("obj")){ value = s.replaceAll("^(.+\\=)","");}}//если какой то эл-т массива содержит "obj",
//записываем все что после знака = в поле value
try {
alert(Double.parseDouble(value)); //пробуем value как DOUBLE
} catch (NumberFormatException e) { //если поймали ошибку,
alert(value);
}
}
public static void alert(double value) {
System.out.println("double " + value);
}
public static void alert(String value) {
System.out.println("String " + value);
}
}
Berg
16 уровень
решение не проходит валидатор
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Marica
15 декабря 2017, 15:59
у меня прошло с 1го раза, но я сделала через HashMap
for (HashMap.Entry pair: pairOfParamets.entrySet()
) {
if (pair.getKey().equals("obj")) {
String value = String.valueOf(pair.getValue());
try {
double valueDouble = parseDouble(value);
alert(valueDouble);
break;
} catch (Exception e)
{
alert(value);
}
}
}
0
Marica
15 декабря 2017, 16:02
вот первый блок - разбивка на пары параметров и вывод всех ключей без значений
String[] parametrs = ptn[1].split("&");
HashMap <String, String > pairOfParamets = new HashMap<>();
for (String x: parametrs
) {
String [] pairs = x.split("=");
if (pairs.length>=2) pairOfParamets.put(pairs[0], pairs[1]);
System.out.print(pairs[0] + " ");
}
System.out.println();
0
Евгений
15 декабря 2017, 12:11
Вывод на консоль (блок try {} catch() {}) надо сделать во втором цикле
0
Roman Pryshchepa Java Developer Expert
15 декабря 2017, 12:08
Берем Пример 1 из условия задачи
Ввод:
http://javarush.ru/alpha/index.html?lvl=15&view&name=Amigo
Вывод:
lvl view name
а твой код что выдает?
0