Advertisement
jaVer404

level19.lesson10.home06(done)_1attempt (really great)

Feb 25th, 2016
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.74 KB | None | 0 0
  1. package com.javarush.test.level19.lesson10.home06;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.FileReader;
  5. import java.io.InputStreamReader;
  6. import java.util.HashMap;
  7. import java.util.Map;
  8.  
  9. /* Замена чисел
  10. 1. В статическом блоке инициализировать словарь map парами [число-слово] от 0 до 12 включительно
  11. Например, 0 - "ноль", 1 - "один", 2 - "два"
  12.  
  13. 2. Считать с консоли имя файла
  14. 3. Заменить все числа на слова используя словарь map
  15. 4. Результат вывести на экран
  16. 5. Закрыть потоки. Не использовать try-with-resources
  17.  
  18. Пример данных:
  19. Это стоит 1 бакс, а вот это - 12 .
  20. Переменная имеет имя file1.
  21. 110 - это число.
  22.  
  23. Пример вывода:
  24. Это стоит один бакс, а вот это - двенадцать .
  25. Переменная имеет имя file1.
  26. 110 - это число.
  27. */
  28.  
  29. public class Solution
  30. {
  31.     public static Map<Integer, String> map = new HashMap<Integer, String>();
  32.  
  33.     static
  34.     {
  35.         map.put(1, "один");
  36.         map.put(2, "два");
  37.         map.put(3, "три");
  38.         map.put(4, "четыре");
  39.         map.put(5, "пять");
  40.         map.put(6, "шесть");
  41.         map.put(7, "семь");
  42.         map.put(8, "восемь");
  43.         map.put(9, "девять");
  44.         map.put(10, "десять");
  45.         map.put(11, "одиннадцать");
  46.         map.put(12, "двенадцать");
  47.     }
  48.  
  49.     public static void main(String[] args)
  50.     {
  51.         try
  52.         {
  53.             BufferedReader readName = new BufferedReader(new InputStreamReader(System.in));
  54.             String fileName = readName.readLine();
  55.             readName.close();
  56.             BufferedReader fileReader = new BufferedReader(new FileReader(fileName));
  57.             String fileLine = "";
  58.             while ((fileLine = fileReader.readLine()) != null)
  59.             {
  60.                 System.out.println(substitute(fileLine,map));
  61.             }
  62.             fileReader.close();
  63.         }
  64.         catch (Exception e) {}
  65.     }
  66.  
  67.     public static String substitute(String line, Map<Integer, String> someMap)
  68.     {
  69.         String temp = line;
  70.         try
  71.         {
  72.             for (Map.Entry<Integer, String> entry : someMap.entrySet())
  73.             {
  74.                 String pattern = "(^|\\D)" + entry.getKey() + "(\\D|$)";
  75.                 temp = temp.replaceAll(pattern,"$1" + entry.getValue() + "$2");
  76.             }
  77.             return temp;
  78.         }
  79.         catch (Exception e)
  80.         {
  81.             return temp;
  82.         }
  83.     }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement