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;
}
}
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