Graduation pt.2
Здравейте, Judge ми дава Runtime error, а дебъгера ми спира програмата като влезне в цикъла за втори път и прочете втората оценка.
Кодът ми е:
import java.util.Scanner;
public class GraduationTwo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String name = sc.nextLine(); int years = 0; double avgGrade = 0; int dismissed = 0; while (years < 12) { double grade = Integer.parseInt(sc.nextLine()); if (grade >= 4) { avgGrade = avgGrade + grade; years++; } else { dismissed = dismissed + 1; } if (dismissed > 1) { int currentYear = years + 1; System.out.printf("%s has been excluded at %d grade", name, currentYear); return; } } System.out.printf("%s graduated. Average grade: %.2f", name, avgGrade / years); } }
Условие на задачата:
Напишете програма, която изчислява средната оценка на ученик от цялото му обучение. На първия ред ще получите името на ученика, а на всеки следващ ред неговите годишни оценки. Ученикът преминава в следващия клас, ако годишната му оценка е по-голяма или равна на 4.00. Ако ученикът бъде скъсан повече от един път, то той бива изключен и програмата приключва, като се отпечатва името на ученика и в кой клас бива изключен.
При успешно завършване на 12-ти клас да се отпечата :
"{име на ученика} graduated. Average grade: {средната оценка от цялото обучение}"
В случай, че ученикът е изключен от училище, да се отпечата:
"{име на ученика} has been excluded at {класа, в който е бил изключен} grade"
Стойността трябва да бъде форматирана до втория знак след десетичната запетая.
Благодаря предварително!