Advertisement
elsemTim

papka pishet CodersRank

Jul 29th, 2019
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.34 KB | None | 0 0
  1. import java.io.*;
  2. import java.math.BigDecimal;
  3. import java.util.*;
  4.  
  5. public class Main {
  6.  
  7.     public static void main(String[] args) throws IOException {
  8.         double percentile = 0.00;
  9.         double median;
  10.         double maxValue;
  11.         double minValue;
  12.         double avrgValue;
  13.         if (args.length < 1) {
  14.             System.out.println("Ошибка: отсуствует файл с входными данными");
  15.         }
  16.         File file = new File(args[0]);
  17.         List<Double> data = initDataList(file);
  18.         median = findMedian(data);
  19.         maxValue = findMax(data);
  20.         minValue = findMin(data);
  21.     }
  22.  
  23.  
  24.     private static List<Double> initDataList(File file) throws FileNotFoundException {
  25.         Scanner reader = new Scanner(file);
  26.         List<Double> dataList = new ArrayList<Double>();
  27.         while (reader.hasNextLine()) {
  28.             dataList.add(Double.parseDouble(String.valueOf(reader.nextInt())));
  29.         }
  30.         return dataList;
  31.     }
  32.  
  33.     private static double findMax(List<Double> data) {
  34.         double max = Double.MIN_VALUE;
  35.         for (double item : data
  36.         ) {
  37.             if (item > max) {
  38.                 max = item;
  39.             }
  40.         }
  41.         return max;
  42.     }
  43.  
  44.     private static double findMin(List<Double> data) {
  45.         double min = Double.MAX_VALUE;
  46.         for (double item : data
  47.         ) {
  48.             if (item < min) {
  49.                 min = item;
  50.             }
  51.         }
  52.         return min;
  53.     }
  54.  
  55.     private static double findAvrg(List<Double> data) {
  56.         double sum = 0;
  57.         int count = 0;
  58.         for (double item :
  59.                 data) {
  60.             count++;
  61.             sum += item;
  62.         }
  63.         return sum / count;
  64.     }
  65.  
  66.     static double findMedian(List<Double> data) {
  67.         Collections.sort(data);
  68.         double median;
  69.         int totalElements = data.size();
  70.         if (totalElements % 2 == 0) {
  71.             double sumOfMiddleElements = data.get(totalElements / 2) + data.get(totalElements / 2 - 1);
  72.             median = sumOfMiddleElements / 2;
  73.         } else {
  74.             median = data.get(totalElements / 2);
  75.         }
  76.         return median;
  77.     }
  78.  
  79.     static double findPercentile(List<Double> data) {
  80.         double percentile = 0;
  81.         // TODO percentile
  82.         return percentile;
  83.     }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement