While loop/ 07. Graduation pt.2
https://pastebin.com/q46hnGsY
Принтира ми резултата многократно, явно не разбирам добре while и в случая не виждам къде още трябва да има break.
https://pastebin.com/q46hnGsY
Принтира ми резултата многократно, явно не разбирам добре while и в случая не виждам къде още трябва да има break.
Здравейте, имахте 2 грешки. Първо последната проверка дали е изключен или не, трябва да е най-накрая извън цикъла. Също поправих брояча за класовете да започва от ч(т.е от първи клас), за да може да изписва правилния клас, когато се изключи студента. Вашият код 100 от 100
package Exercise1002;
import java.util.Scanner;
public class Exercise1002 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
double totalGareds = 0.0;
int classCount = 1;
int expelCount = 0;
boolean isExpelled = false;
while (classCount <= 12) {
double grade = Double.parseDouble(scanner.nextLine());
if (grade >= 4.00) {
classCount++;
totalGareds += grade;
} else {
expelCount++;
}
if (expelCount == 2) {
isExpelled = true;
break;
}
}
if (isExpelled) {
System.out.printf(" %s has been excluded at %d grade", name, classCount);
} else {
System.out.printf("%s graduated. Average grade: %.2f ", name, totalGareds / 12);
}
}
}
Мерси за помощта! Явно не всички итерации трябва да започват от 0.