import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
public class Solution {
public static void main(String[] args) throws Exception {
LinkedList<String> list = new LinkedList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String input = reader.readLine();
//String input = "http://javarush.ru/alpha/index.html?lvl=15&view&name=Amigo";
int indexOfQeustionMark = input.indexOf("?");
String st = input.substring(indexOfQeustionMark + 1, input.length()) + "&"; // к концу строки + "&" получаем lvl=15&view&name=Amigo&"
int indexNumberOfAmpersand; // порядковый номер & в строке
String paramentAndValue; // отрезазаем параметр и значение, например lvl=15
while ((indexNumberOfAmpersand = st.indexOf("&")) > -1) { // пока в строке есть "&"
paramentAndValue = st.substring(0, indexNumberOfAmpersand); // отрезазаем параметр и значение, например lvl=15
st = st.substring(indexNumberOfAmpersand + 1, st.length()); // остаток строки view&name=Amigo&
list.add(paramentAndValue); // кладем параметр и значение в этот лист lvl=15
// в итоге получил list с параметрами lvl=15, view, name=Amigo]
}
//печатаем обьекты без значений, отсекаем =
for (String obj : list) {
if (obj.contains("=")) {
obj = obj.substring(0, obj.indexOf("="));
System.out.print(obj + " ");
}
}
System.out.println(); // нужен отступ между выводами по условию
String objvalue = "";
for (String obj : list) { // работа с методами alert
if (obj.contains("obj")) {
objvalue = obj.substring(obj.indexOf("=") + 1, obj.length());
try {
double d = Double.parseDouble(objvalue);
alert(d);
} catch (NumberFormatException e2) {
alert(objvalue);
}
}
}
}
//
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}
package com.javarush.task.task15.task1527;
/*
Парсер реквестов
*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
public class Solution {
public static void main(String[] args) throws Exception {
LinkedList<String> list = new LinkedList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String input = reader.readLine();
//String input = "http://javarush.ru/alpha/index.html?lvl=15&view&name=Amigo";
int indexOfQeustionMark = input.indexOf("?");
String st = input.substring(indexOfQeustionMark + 1, input.length()) + "&"; // к концу строки + "&" получаем lvl=15&view&name=Amigo&"
int indexNumberOfAmpersand; // порядковый номер & в строке
String paramentAndValue; // отрезазаем параметр и значение, например lvl=15
while ((indexNumberOfAmpersand = st.indexOf("&")) > -1) { // пока в строке есть "&"
paramentAndValue = st.substring(0, indexNumberOfAmpersand); // отрезазаем параметр и значение, например lvl=15
st = st.substring(indexNumberOfAmpersand + 1, st.length()); // остаток строки view&name=Amigo&
list.add(paramentAndValue); // кладем параметр и значение в этот лист lvl=15
// в итоге получил list с параметрами lvl=15, view, name=Amigo]
}
//печатаем обьекты без значений, отсекаем =
for (String obj : list) {
if (obj.contains("=")) {
obj = obj.substring(0, obj.indexOf("="));
System.out.print(obj + " ");
}
}
System.out.println(); // нужен отступ между выводами по условию
String objvalue = "";
for (String obj : list) { // работа с методами alert
if (obj.contains("obj")) {
objvalue = obj.substring(obj.indexOf("=") + 1, obj.length());
try {
double d = Double.parseDouble(objvalue);
alert(d);
} catch (NumberFormatException e2) {
alert(objvalue);
}
}
}
}
//
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}