Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.63 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.Collections;
  4. import java.util.List;
  5.  
  6. class Application {
  7.  
  8.     static class GradeAverageCalculator {
  9.  
  10.         public double calculateAverage(List<Integer> grades) {
  11.             if (grades == null || grades.isEmpty()) {
  12.                 return 0.0;
  13.             }
  14.  
  15.             if (grades.size() > 2) {
  16.                 Integer min = Collections.min(grades);
  17.                 Integer max = Collections.max(grades);
  18.  
  19.                 grades.remove(min);
  20.                 grades.remove(max);
  21.             }
  22.  
  23.             return calculateAverageInternal(grades);
  24.         }
  25.  
  26.         private double calculateAverageInternal(List<Integer> grades) {
  27.             double sum = 0;
  28.             for (Integer grade : grades) {
  29.                 sum += grade;
  30.             }
  31.             return sum / grades.size();
  32.  
  33.         }
  34.  
  35.     }
  36.  
  37.     public static void main(String[] args) throws java.lang.Exception {
  38.  
  39.         GradeAverageCalculator calculator = new GradeAverageCalculator();
  40.  
  41.         if (calculator.calculateAverage(new ArrayList<>()) == 0) {
  42.             System.out.println("OK");
  43.         } else {
  44.             System.out.println("NIE OK");
  45.         }
  46.  
  47.         if (calculator.calculateAverage(new ArrayList<>(Arrays.asList(1, 2))) == 1.5) {
  48.             System.out.println("OK");
  49.         } else {
  50.             System.out.println("NIE OK");
  51.         }
  52.  
  53.         if (calculator.calculateAverage(new ArrayList<>(Arrays.asList(1, 2, 5))) == 2) {
  54.             System.out.println("OK");
  55.         } else {
  56.             System.out.println("NIE OK");
  57.         }
  58.  
  59.  
  60.     }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement