Advertisement
dzocesrce

[NP] Triplets

Apr 17th, 2025
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.00 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Comparator;
  3. import java.util.List;
  4. import java.util.stream.Collectors;
  5. import java.util.Scanner;
  6.  
  7. class Triple<T extends Number> {
  8.     private List<T> numbers = new ArrayList<>();
  9.  
  10.     public Triple(T number1, T number2, T number3) {
  11.  
  12.         numbers.add(number1);
  13.         numbers.add(number2);
  14.         numbers.add(number3);
  15.     }
  16.  
  17.     public void sort(){
  18.          numbers= numbers.stream().sorted(Comparator.comparing(i->{return i.doubleValue();}))
  19.                 .collect(Collectors.toList());
  20.     }
  21.  
  22.     public double avarage(){
  23.         return numbers.stream().mapToDouble(i->i.doubleValue()).average().getAsDouble();
  24.  
  25.     }
  26.  
  27.     public double max(){
  28.         return numbers.stream().mapToDouble(i->i.doubleValue()).max().getAsDouble();
  29.  
  30.     }
  31.  
  32.     @Override
  33.     public String toString() {
  34.         return String.format("%.2f %.2f %.2f",numbers.get(0).doubleValue(),numbers.get(1).doubleValue(),numbers.get(2).doubleValue());
  35.     }
  36. }
  37.  
  38. public class TripleTest {
  39.     public static void main(String[] args) {
  40.         Scanner scanner = new Scanner(System.in);
  41.         int a = scanner.nextInt();
  42.         int b = scanner.nextInt();
  43.         int c = scanner.nextInt();
  44.         Triple<Integer> tInt = new Triple<Integer>(a, b, c);
  45.         System.out.printf("%.2f\n", tInt.max());
  46.         System.out.printf("%.2f\n", tInt.avarage());
  47.         tInt.sort();
  48.         System.out.println(tInt);
  49.         float fa = scanner.nextFloat();
  50.         float fb = scanner.nextFloat();
  51.         float fc = scanner.nextFloat();
  52.         Triple<Float> tFloat = new Triple<Float>(fa, fb, fc);
  53.         System.out.printf("%.2f\n", tFloat.max());
  54.         System.out.printf("%.2f\n", tFloat.avarage());
  55.         tFloat.sort();
  56.         System.out.println(tFloat);
  57.         double da = scanner.nextDouble();
  58.         double db = scanner.nextDouble();
  59.         double dc = scanner.nextDouble();
  60.         Triple<Double> tDouble = new Triple<Double>(da, db, dc);
  61.         System.out.printf("%.2f\n", tDouble.max());
  62.         System.out.printf("%.2f\n", tDouble.avarage());
  63.         tDouble.sort();
  64.         System.out.println(tDouble);
  65.     }
  66. }
  67.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement