Note n ° 5 "Les valeurs HashMap ont plusieurs valeurs utilisant des classes" [Java]

Que veux-tu faire

  1. Entrez le nombre d'étudiants et la note de passage
  2. Entrez le score du test et le nombre d'absentéisme, puis sélectionnez et affichez les élèves dont le score au test moins le nombre d'absentéisme * 5 points dépasse le score de passage.

code

        Scanner sc = new Scanner(System.in);
        int ppl = sc.nextInt(); //Nombre d'étudiants
        int ps = sc.nextInt(); //Note de passage
        
        
        Map<Integer, Stud> map = new LinkedHashMap<>(); //Avoir un numéro d'inscription scolaire et une classe de Stud
        for(int i = 1; i <= ppl; i++) {
            int a = sc.nextInt(); //Score du test
            int b = sc.nextInt(); //Nombre d'absences
            Stud s = new Stud(a, b); //Instanciation
            map.put(i, s); //Remplissez la carte avec votre numéro d'école et votre instance
        }
        
        for(int key : map.keySet()) {
            Stud c = map.get(key);
            int d = c.score; //Scores pour chaque numéro d'inscription scolaire
            int e = c.absent; //Nombre d'absences
            int f = d - e * 5; //Calculez le score final
            if(f <= 0) { //Si le score devient négatif à la suite du calcul, définissez 0 comme limite inférieure.
                f = 0;
            }
            
            if(f >= ps) {
                System.out.println(key);
            }
        }
    }
}


class Stud { //Classe étudiante
        int score; //But
        int absent; //Nombre d'absences
        
        public Stud(int score, int absent) {
            this.score = score;
            this.absent = absent;
        }
}

Impressions

J'ai d'abord proposé la méthode en utilisant un tableau, mais cela semblait compliqué, alors j'ai essayé d'utiliser Map. Je voulais les récupérer dans l'ordre dans lequel ils étaient emballés, j'ai donc utilisé LinkedHashMap.

Recommended Posts

Note n ° 5 "Les valeurs HashMap ont plusieurs valeurs utilisant des classes" [Java]
Mémo pour avoir plusieurs valeurs dans HashMap
[Java] Obtenir plusieurs valeurs à partir d'une valeur de retour
Note n ° 1 "Comptage et affichage des valeurs en double dans un tableau" [Java]
Valeur renvoyée lors de l'utilisation de Java n ° 1 Facultatif.if Présent qui a été utile en entreprise
[Débutant] Méthode / classe / bibliothèque externe Java [Note 23]
Trier par plusieurs conditions à l'aide de Java Stream
Comment utiliser la classe Java Scanner (Remarque)