Advertisement
jaVer404

level18.lesson10.home02

Nov 5th, 2015
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.57 KB | None | 0 0
  1. package com.javarush.test.level18.lesson10.home02;
  2.  
  3. /* Пробелы
  4. В метод main первым параметром приходит имя файла.
  5.  
  6. Вывести на экран соотношение количества пробелов к количеству всех символов.
  7.  
  8. Например, 10.45
  9.  
  10. 1. Посчитать количество всех символов.
  11.  
  12. 2. Посчитать количество пробелов.
  13.  
  14. 3. Вывести на экран п2/п1*100, округлив до 2 знаков после запятой
  15.  
  16. 4. Закрыть потоки. Не использовать try-with-resources
  17. */
  18.  
  19. import java.io.File;
  20. import java.io.FileInputStream;
  21. import java.io.IOException;
  22. import java.math.BigDecimal;
  23. import java.math.RoundingMode;
  24.  
  25. public class Solution {
  26.     public static void main(String[] args) throws IOException
  27.     {
  28.         FileInputStream fileInputStream = new FileInputStream(args[0]);
  29.         int charSum = (int)new File(args[0]).length();
  30.         char tempChar;
  31.         int spaceCounter=0;
  32.         while (fileInputStream.available()>0) {
  33.             tempChar = (char)fileInputStream.read();
  34.             if (' '==tempChar) {
  35.                 spaceCounter++;
  36.             }
  37.         }
  38.  
  39.         double charSum1 = Double.valueOf(charSum);
  40.         double spaceCounter1 = Double.valueOf(spaceCounter);
  41.         double coef = new BigDecimal(spaceCounter1/charSum1*100).setScale(2, RoundingMode.HALF_UP).doubleValue();
  42.         System.out.println(coef);
  43.         fileInputStream.close();
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement