Advertisement
jaVer404

level13.lesson11.bonus01

May 28th, 2015
254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.99 KB | None | 0 0
  1. package com.javarush.test.level13.lesson11.bonus01;
  2.  
  3. /* Сортировка четных чисел из файла
  4. 1. Ввести имя файла с консоли.
  5. 2. Прочитать из него набор чисел.
  6. 3. Вывести на консоль только четные, отсортированные по возрастанию.
  7. Пример ввода:
  8. 5
  9. 8
  10. 11
  11. 3
  12. 2
  13. 10
  14. Пример вывода:
  15. 2
  16. 8
  17. 10
  18. */
  19.  
  20. import java.io.*;
  21. import java.util.ArrayList;
  22. import java.util.Scanner;
  23.  
  24. public class Solution
  25. {
  26.     public static void main(String[] args) throws IOException
  27.     {
  28.         // напишите тут ваш код
  29.         String fileName = Solution.getFileName();
  30.         Integer[] allNumbers = Solution.getNumbers(fileName);
  31.         Integer [] evenNumbers = Solution.getEvenNumbers(allNumbers);
  32.         Solution.bubbleSorting(evenNumbers);
  33.         Solution.printItOut(evenNumbers);
  34.     }
  35.     public static String getFileName() throws IOException {
  36.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  37.         String fileName = reader.readLine();
  38.         return fileName;
  39.     }
  40.     //получить массив чисел из файла и записать их в массив
  41.     public static Integer [] getNumbers (String fileName) throws IOException{
  42.  
  43.         Scanner dataFile = new Scanner(new File(fileName));
  44.         ArrayList<Integer> intData = new ArrayList<Integer>();
  45.  
  46.  
  47.         while (dataFile.hasNextLine()){
  48.             String line = dataFile.nextLine();
  49.             Scanner scanner = new Scanner(line);
  50.             while(scanner.hasNextInt()){
  51.                 intData.add(scanner.nextInt());
  52.             }
  53.             scanner.close();
  54.         }
  55.  
  56.         dataFile.close();
  57.         return intData.toArray(new Integer[intData.size()]);
  58.     }
  59.  
  60.     public static Integer [] getEvenNumbers(Integer[] allNumbers) {
  61.         ArrayList<Integer> evenNumbers = new ArrayList<Integer>();
  62.         for (Integer i : allNumbers) {
  63.             if (i%2==0) {
  64.                 evenNumbers.add(i);
  65.             }
  66.         }
  67.         return  evenNumbers.toArray(new Integer[evenNumbers.size()]);
  68.     }
  69.  
  70.     public static void bubbleSorting (Integer [] notSortedNumbers) {
  71.             int j;
  72.             boolean flag = true;
  73.             int temp;
  74.             while (flag) {
  75.                 flag = false;
  76.                 for (j = 0; j < notSortedNumbers.length - 1; j++) {
  77.                     if (notSortedNumbers[j] > notSortedNumbers[j+1]) {
  78.                         temp = notSortedNumbers[j];
  79.                         notSortedNumbers[j] = notSortedNumbers [j + 1];
  80.                         notSortedNumbers[j + 1] = temp;
  81.                         flag = true;
  82.                     }
  83.                 }
  84.             }
  85.     }
  86.     public static void printItOut (Integer [] numbersToOutput) {
  87.         for (int i = 0; i < numbersToOutput.length; i ++) {
  88.             System.out.println(numbersToOutput[i]);
  89.         }
  90.     }
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement