Hinweis Nr. 5 "HashMap-Werte haben mehrere Werte unter Verwendung von Klassen" [Java]

Was willst du tun

  1. Geben Sie die Anzahl der Schüler und die Punktzahl ein
  2. Geben Sie die Testergebnisse und die Anzahl der Fehlzeiten ein und zeigen Sie die Schüler an, deren Testergebnisse abzüglich der Anzahl der Fehlzeiten * 5 Punkte die bestandene Punktzahl überschreiten.

Code

        Scanner sc = new Scanner(System.in);
        int ppl = sc.nextInt(); //Anzahl der Schüler
        int ps = sc.nextInt(); //Punktzahl übergeben
        
        
        Map<Integer, Stud> map = new LinkedHashMap<>(); //Haben Sie eine Schulregistrierungsnummer und eine Stud-Klasse
        for(int i = 1; i <= ppl; i++) {
            int a = sc.nextInt(); //Prüfungsergebnis
            int b = sc.nextInt(); //Anzahl der Abwesenheiten
            Stud s = new Stud(a, b); //Instanziierung
            map.put(i, s); //Füllen Sie die Karte mit Ihrer Schulnummer und Instanz
        }
        
        for(int key : map.keySet()) {
            Stud c = map.get(key);
            int d = c.score; //Punktzahl für jede Schulregistrierungsnummer
            int e = c.absent; //Anzahl der Abwesenheiten
            int f = d - e * 5; //Berechnen Sie das Endergebnis
            if(f <= 0) { //Wenn die Punktzahl aufgrund der Berechnung negativ wird, setzen Sie 0 als Untergrenze.
                f = 0;
            }
            
            if(f >= ps) {
                System.out.println(key);
            }
        }
    }
}


class Stud { //Schülerklasse
        int score; //Ergebnis
        int absent; //Anzahl der Abwesenheiten
        
        public Stud(int score, int absent) {
            this.score = score;
            this.absent = absent;
        }
}

Impressionen

Ich habe die Methode zuerst mit einem Array entwickelt, aber sie schien kompliziert zu sein, also habe ich versucht, Map zu verwenden. Ich wollte sie in der Reihenfolge abrufen, in der sie gepackt waren, also habe ich LinkedHashMap verwendet.

Recommended Posts

Hinweis Nr. 5 "HashMap-Werte haben mehrere Werte unter Verwendung von Klassen" [Java]
Notiz, um mehrere Werte in HashMap zu haben
[Java] Ruft mehrere Werte von einem Rückgabewert ab
Hinweis Nr. 1 "Zählen und Anzeigen doppelter Werte in einem Array" [Java]
Rückgabewert bei Verwendung von Java Nr. 1 Optional.ifPresent, das im Geschäftsleben nützlich war
[Anfänger] Java-Methode / Klasse / externe Bibliothek [Anmerkung 23]
Mit Java Stream nach mehreren Bedingungen sortieren
Verwendung der Java Scanner-Klasse (Hinweis)