Advertisement
jaVer404

level18.lesson10.home05 (not tested) p/2

Dec 14th, 2015
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.46 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. /*---------------------------------------------------------------*/
  28.         String arrayString = "";
  29.         for (int i : numbersToList(fiename1)) {
  30.                 arrayString += i+" ";
  31.         }
  32.         byte[]bytesArray = arrayString.getBytes();
  33.         FileOutputStream fileOutputStream = new FileOutputStream(fiename2);
  34.         fileOutputStream.write(bytesArray);
  35.         fileOutputStream.close();
  36.     }
  37.  
  38. /*---------------------------------------------------*/
  39.     public static int roundThis (double getNumber) {
  40.         if ((Math.abs(getNumber) - Math.abs((int)getNumber))>0.5) {
  41.             if (getNumber>0)
  42.                 return (int)Math.ceil(getNumber);
  43.             else {
  44.                 return ((int)Math.ceil(getNumber*-1))*-1;
  45.             }
  46.         }
  47.         else {
  48.             if (getNumber > 0)
  49.                 return (int)Math.floor(getNumber);
  50.             else
  51.                 return ((int)Math.floor(getNumber*-1))*-1;
  52.         }
  53.     }
  54. /*--------------------------------------------------*/
  55. static List<Integer> numbersToList (String fileName) throws IOException {
  56.     List <Integer> integers = new ArrayList<Integer>();
  57.     BufferedReader br = new BufferedReader(new FileReader(fileName));
  58.     String sCurrentLine;
  59.     while ((sCurrentLine = br.readLine())!=null) {
  60.         String [] strArr=sCurrentLine.split(" ");
  61.         for (String str : strArr) {
  62.             integers.add(roundThis(Double.parseDouble(str)));
  63.         }
  64.     }
  65.     br.close();
  66.     return integers;
  67. }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement