Advertisement
jaVer404

level18.lesson10.home05 (not tested)

Dec 14th, 2015
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.95 KB | None | 0 0
  1. package com.javarush.test.level18.lesson10.home05;
  2.  
  3. /* Округление чисел
  4. Считать с консоли 2 имени файла
  5. Первый файл содержит вещественные(дробные) числа, разделенные пробелом. Например, 3.1415
  6. Округлить числа до целых и записать через пробел во второй файл
  7. Закрыть потоки. Не использовать try-with-resources
  8. Принцип округления:
  9. 3.49 - 3
  10. 3.50 - 4
  11. 3.51 - 4
  12. -3.49 - -3
  13. -3.50 - -3
  14. -3.51 - -4
  15. */
  16.  
  17. import java.io.*;
  18. import java.util.ArrayList;
  19. import java.util.List;
  20.  
  21. public class Solution {
  22.     public static void main(String[] args) throws IOException{
  23.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  24.         String fiename1 = reader.readLine();
  25.         String fiename2 = reader.readLine();
  26.         reader.close();
  27.         FileWriter writer = new FileWriter(fiename2);
  28.         for (int i : numbersToList(fiename1)) {
  29.             writer.write(i+" ");
  30.         }
  31.         writer.close();
  32.     }
  33.  
  34. /*---------------------------------------------------*/
  35.     public static int roundThis (double getNumber) {
  36.         if ((getNumber-(int)getNumber)>0.5) {
  37.             return (int)Math.ceil(getNumber);
  38.         }
  39.         else
  40.             return (int)Math.floor(getNumber);
  41.     }
  42. /*--------------------------------------------------*/
  43. static List<Integer> numbersToList (String fileName) throws IOException {
  44.     List <Integer> integers = new ArrayList<Integer>();
  45.     BufferedReader br = new BufferedReader(new FileReader(fileName));
  46.     String sCurrentLine;
  47.     while ((sCurrentLine = br.readLine())!=null) {
  48.         String [] strArr=sCurrentLine.split(" ");
  49.         for (String str : strArr) {
  50.             integers.add(roundThis(Double.parseDouble(str)));
  51.         }
  52.     }
  53.     br.close();
  54.     return integers;
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement