Advertisement
mamant38

Округлить числа из файла

Apr 16th, 2018
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.93 KB | None | 0 0
  1. package com.javarush.task.task18.task1820;
  2.  
  3. /*
  4. Считать с консоли 2 имени файла.
  5. Первый файл содержит вещественные(дробные) числа, разделенные пробелом. Например, 3.1415.
  6. Округлить числа до целых и записать через пробел во второй файл.
  7. Закрыть потоки.
  8.  
  9. Принцип округления:
  10. 3.49 - 3
  11. 3.50 - 4
  12. 3.51 - 4
  13. -3.49 - -3
  14. -3.50 - -3
  15. -3.51 - -4
  16.  
  17. 1. Программа должна два раза считать имена файлов с консоли.
  18. 2. Для первого файла создай поток для чтения. Для второго - поток для записи.
  19. 3. Считать числа из первого файла, округлить их и записать через пробел во второй.
  20. 4. Должны соблюдаться принципы округления, указанные в задании.
  21. 5. Созданные для файлов потоки должны быть закрыты.
  22. */
  23.  
  24. import java.awt.geom.Arc2D;
  25. import java.io.*;
  26. import java.util.ArrayList;
  27. import java.util.List;
  28.  
  29. public class Solution {
  30.     public static void main(String[] args) throws Exception{
  31.         //byte [] byffer = {49, 32, 50,46,50, 50, 32, 45, 50, 32, 49};
  32.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  33.         String file1 = reader.readLine();
  34.         String file2 = reader.readLine();
  35.         //ерешь BufferedReader, читаешь через него одну строку из первого файла. Делишь ее по пробелу через split, получаешь массив строк.
  36.         //Каждый элемент этого массива парсишь, округляешь и пишешь во второй файл.
  37.         //Создание ридера:
  38.         BufferedReader br = new BufferedReader(new FileReader(file1));
  39.  
  40.         //Чтение строки:
  41.         String line = br.readLine();
  42.  
  43.         //Разбиение по пробелу:
  44.         String[] nums = line.split(" ");
  45.  
  46.         //Создание райтера:
  47.         BufferedWriter bw = new BufferedWriter(new FileWriter(file2));
  48.  
  49.         //Цикл по массиву:
  50.         for (String num : nums) {
  51.             //Парсинг строки (внутри цикла):
  52.             double d = Double.parseDouble(num);
  53.             //Округление полученного числа (внутри цикла):
  54.             long n = Math.round(d);
  55.             //Запись округленного числа во второй файл с пробелом (внутри цикла):
  56.             bw.write(n+" ");
  57.         }
  58.         //Закрытие файлов (после цикла):
  59.         br.close();
  60.         bw.close();
  61.     }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement