Advertisement
jaVer404

level15.lesson12.home09_parsing_first_time

Jul 20th, 2015
321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.89 KB | None | 0 0
  1. package com.javarush.test.level15.lesson12.home09;
  2.  
  3. /* Парсер реквестов
  4. Считать с консоли URl ссылку.
  5. Вывести на экран через пробел список всех параметров
  6. (Параметры идут после ? и разделяются &, например, lvl=15).
  7. URL содержит минимум 1 параметр.
  8.  
  9. Если присутствует параметр obj, то передать его значение в нужный метод alert.
  10. alert(double value) - для чисел (дробные числа разделяются точкой)
  11. alert(String value) - для строк
  12.  
  13. Пример 1
  14. Ввод:
  15. http://javarush.ru/alpha/index.html?lvl=15&view&name=Amigo
  16. Вывод:
  17. lvl view name
  18.  
  19. Пример 2
  20. Ввод:
  21. http://javarush.ru/alpha/index.html?obj=3.14&name=Amigo
  22. Вывод:
  23. obj name
  24. double 3.14
  25. */
  26.  
  27. import java.io.BufferedReader;
  28. import java.io.IOException;
  29. import java.io.InputStreamReader;
  30. import java.util.ArrayList;
  31. import java.util.StringTokenizer;
  32.  
  33. public class Solution {
  34.     public static void main(String[] args) throws IOException{
  35.         //add your code here
  36.         String myParam = init();
  37.         parseParam(myParam);
  38.        
  39.  
  40.     }
  41.  
  42.     public static String init () throws IOException {
  43.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  44.         String returnParam = "";
  45.         String myURLinput = reader.readLine();
  46.         if (myURLinput.indexOf("?") > -1) {
  47.             returnParam = myURLinput.substring(myURLinput.indexOf("?") + 1);
  48.         }
  49.         return returnParam;
  50.     }
  51.  
  52.     public static void parseParam (String paramaters) {
  53.         StringTokenizer paramGroup = new StringTokenizer(paramaters, "&");
  54.         ArrayList<String> myParameters = new ArrayList<>();
  55.         ArrayList<String> myValues = new ArrayList<>();
  56.         String valueParam = "";
  57.         while (paramGroup.hasMoreTokens()) {
  58.             StringTokenizer value = new StringTokenizer(paramGroup.nextToken(), "=");
  59.             String myParam = value.nextToken();
  60.             myParameters.add(myParam);
  61.             if (myParam.equals("obj")) {
  62.                 valueParam = value.nextToken();
  63.                 myValues.add(valueParam);
  64.             }
  65.         }
  66.         for (String s : myParameters) {
  67.             System.out.print (s + " ");
  68.         }
  69.         System.out.println();
  70.         for (String o : myValues) {
  71.             try {
  72.                 Double myDouble = Double.parseDouble(o);
  73.                 alert(myDouble);
  74.             }
  75.             catch (NumberFormatException e) {
  76.                 String toPrint = o;
  77.                 alert (toPrint);
  78.             }
  79.         }
  80.     }
  81.  
  82.     public static void alert(double value) {
  83.         System.out.println("double " + value);
  84.     }
  85.  
  86.     public static void alert(String value) {
  87.         System.out.println("String " + value);
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement