** 1, die Information "Schülername, Fachname / Punktzahl" wurde in eine zweidimensionale Kartendatenstruktur umgewandelt. ** **. ** 2, die Gesamtpunktzahl und die durchschnittliche Punktzahl jedes Schülers wurden unter Verwendung der for-Anweisung ausgegeben. ** **.
Auflistungsklassen können nichts speichern, was keine Instanz ist. Es kann jedoch gespeichert werden, indem int-Typinformationen in Integer-Typ (Wrapper-Klasse) konvertiert werden.
Laufen Sie mit Eclipse Oxygen
Ein Programm, das eine zweidimensionale Karte erstellt und dreht
import java.util.LinkedHashMap;
import java.util.Map;
public class MapScore {
public static void main(String[] args) {
//Erstellen Sie eine 2D-Karte
//Unmittelbar vor dem Kartennamen, dh Karte<String, Map<String, Integer>>Bis zum Datentyp
Map<String, Map<String, Integer>> nameMap = new LinkedHashMap<String, Map<String, Integer>>();
//Suzuki
Map<String, Integer> scoresMap_suzuki = new LinkedHashMap<String, Integer>();
scoresMap_suzuki.put("Landessprache", 78);
scoresMap_suzuki.put("Mathematik", 90);
scoresMap_suzuki.put("Englisch", 20);
//Herr Sato
Map<String, Integer> scoresMap_satoh = new LinkedHashMap<String, Integer>();
scoresMap_satoh.put("Landessprache", 50);
scoresMap_satoh.put("Mathematik", 40);
scoresMap_satoh.put("Englisch", 90);
//Tanaka-san
Map<String, Integer> scoresMap_tanaka = new LinkedHashMap<String, Integer>();
scoresMap_tanaka.put("Landessprache", 80);
scoresMap_tanaka.put("Mathematik", 60);
scoresMap_tanaka.put("Englisch", 85);
//Realisieren Sie eine zweidimensionale Karte, indem Sie die obigen drei Karten in den Wert der Namenskarte einfügen
nameMap.put("Suzuki", scoresMap_suzuki);
nameMap.put("Sato", scoresMap_satoh);
nameMap.put("Tanaka", scoresMap_tanaka);
//Drehen Sie die Namenskarte mit Erweitert für
//Im Fall von LinkedHashMap wird es in der Reihenfolge des Speichers abgerufen.
for (Map.Entry<String, Map<String, Integer>> element : nameMap.entrySet()) {
//Holen Sie sich den Wert von nameMap und weisen Sie ihn einer neuen Karte zu
Map<String,Integer> scores = element.getValue();
int sum = 0;
int avg = 0;
//scoresMap_Drehen Sie den Wert des Namens, dh die Punktzahl, und ersetzen Sie ihn durch die Summe
for(int hogeInt : scores.values()){
sum += hogeInt;
avg = sum / scores.size();
}
//Für die Anzahl der Personen((Für 3 Personen) Ausgabe
System.out.println(element + "Die Gesamtpunktzahl beträgt" + sum + " " + "Der Durchschnitt ist" + avg);
}
}
}
Ausführungsergebnis
Ausführungsergebnis
Suzuki={Landessprache=78,Mathematik=90,Englisch=20}Gesamtpunktzahl ist 188 Durchschnitt ist 62
Sato={Landessprache=50,Mathematik=40,Englisch=90}Die Gesamtpunktzahl beträgt 180. Der Durchschnitt liegt bei 60
Tanaka={Landessprache=80,Mathematik=60,Englisch=85}Gesamtpunktzahl ist 225 Durchschnitt ist 75
Recommended Posts