Advertisement
jaVer404

level19.lesson10.home04(done)_2 attempts

Feb 25th, 2016
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.37 KB | None | 0 0
  1. package com.javarush.test.level19.lesson10.home04;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.FileReader;
  5. import java.io.InputStreamReader;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8.  
  9. /* Ищем нужные строки
  10. Считать с консоли имя файла.
  11. Вывести в консоль все строки из файла, которые содержат всего 2 слова из списка words
  12. Закрыть потоки. Не использовать try-with-resources
  13.  
  14. Пример: words содержит слова А, Б, В
  15. Строки:
  16. В Б А Д  //3 слова из words, не подходит
  17. Д А Д    //1 слово из words, не подходит
  18. Д А Б Д  //2 слова - подходит, выводим
  19. */
  20.  
  21. public class Solution {
  22.     public static List<String> words = new ArrayList<String>();
  23.  
  24.     static {
  25.         words.add("файл");
  26.         words.add("вид");
  27.         words.add("В");
  28.     }
  29.  
  30.     public static void main(String[] args) {
  31.         BufferedReader readName = null;
  32.         try {
  33.             readName = new BufferedReader(new InputStreamReader(System.in));
  34.             String fileName = readName.readLine();
  35.             readName.close();
  36.             BufferedReader fileReader = new BufferedReader(new FileReader(fileName));
  37.             String fileLine="";
  38.             while ((fileLine=fileReader.readLine())!=null) {
  39.                 try
  40.                 {
  41.                     int counter = 0;
  42.                     for (String fromWord : words) {
  43.                         counter=counter+countWord(fileLine,fromWord);
  44.                     }
  45.                     if (counter==2) {
  46.                         System.out.println(fileLine);
  47.                     }
  48.                 }
  49.                 catch (Exception e) {}
  50.             }
  51.             fileReader.close();
  52.  
  53.         } catch (Exception e) {}
  54.     }
  55.  
  56.     public static int countWord(String line, String word) {
  57.         int counter = 0;
  58.         try
  59.         {
  60.             String tmp = "";
  61.             tmp=line.toLowerCase();
  62.             String[]strings = tmp.split(" ");
  63.                 for (String s : strings) {
  64.                     if (s.equals(word.toLowerCase())) {
  65.                         counter++;
  66.                     }
  67.                 }
  68.         }
  69.         catch (Exception e)
  70.         {}
  71.         return counter;
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement