Advertisement
informaticage

Java matte misurazioni

Mar 31st, 2021
714
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.74 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.Comparator;
  4. import java.util.Scanner;
  5.  
  6. class Misurazione {
  7.   private double temp;
  8.   private String time;
  9.  
  10.   public Misurazione(double temp, String time) {
  11.     this.temp = temp;
  12.     this.time = time;
  13.   }
  14.  
  15.   public void setTemp(double temp) {
  16.     this.temp = temp;
  17.   }
  18.  
  19.   public void setTime(String time) {
  20.     this.time = time;
  21.   }
  22.  
  23.   public String getTime() {
  24.     return this.time;
  25.   }
  26.  
  27.   public double getTemp() {
  28.     return this.temp;
  29.   }
  30.  
  31.   public String toString() {
  32.     return Double.toString(this.getTemp()) + " alle " + this.getTime();
  33.   }
  34. }
  35.  
  36. public class Main {
  37.   public static void main(String[] args) {
  38.     Scanner sc = new Scanner(System.in);
  39.     System.out.println("N misurazioni: ");
  40.     int daysAmount = sc.nextInt();
  41.     ArrayList<Misurazione> misurazioni = new ArrayList<Misurazione>();
  42.  
  43.     for (int i = 0; i < daysAmount; i++) {
  44.       System.out.print("Temp: ");
  45.       double temp = sc.nextDouble();
  46.  
  47.       System.out.print("Time: ");
  48.       String time = sc.next();
  49.       misurazioni.add(new Misurazione(temp, time));
  50.     }
  51.     sc.close();
  52.  
  53.     System.out.println("Visualizzazione: ");
  54.     for (int i = 0; i < daysAmount; i++) {
  55.       System.out.println(misurazioni.get(i));
  56.     }
  57.  
  58.     System.out.println("\nOrdinamento per temperatura DESC: ");
  59.     Collections.sort(misurazioni, new Comparator<Misurazione>() {
  60.       public int compare(Misurazione m1, Misurazione m2) {
  61.         return m1.getTemp() > m2.getTemp() ? -1 : 1;
  62.       }
  63.     });
  64.  
  65.     for (int i = 0; i < daysAmount; i++) {
  66.       System.out.print(misurazioni.get(i) + " ");
  67.     }
  68.  
  69.     System.out.println("\nOrdinamento per temperatura ASC: ");
  70.     Collections.sort(misurazioni, new Comparator<Misurazione>() {
  71.       public int compare(Misurazione m1, Misurazione m2) {
  72.         return m1.getTemp() > m2.getTemp() ? 1 : -1;
  73.       }
  74.     });
  75.  
  76.     for (int i = 0; i < daysAmount; i++) {
  77.       System.out.print(misurazioni.get(i) + " ");
  78.     }
  79.  
  80.     System.out.println("\nOrdinamento per orario ASC: ");
  81.     Collections.sort(misurazioni, new Comparator<Misurazione>() {
  82.       public int compare(Misurazione m1, Misurazione m2) {
  83.         return m1.getTime().compareTo(m2.getTime());
  84.       }
  85.     });
  86.  
  87.     for (int i = 0; i < daysAmount; i++) {
  88.       System.out.print(misurazioni.get(i) + " ");
  89.     }
  90.  
  91.     System.out.println("\nOrdinamento per orario DESC: ");
  92.     Collections.sort(misurazioni, new Comparator<Misurazione>() {
  93.       public int compare(Misurazione m1, Misurazione m2) {
  94.         return -m1.getTime().compareTo(m2.getTime());
  95.       }
  96.     });
  97.  
  98.     for (int i = 0; i < daysAmount; i++) {
  99.       System.out.print(misurazioni.get(i) + " ");
  100.     }
  101.   }
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement