Loading...
ValentinTyanov avatar ValentinTyanov 20 Точки

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"

Стойността трябва да бъде форматирана до втория знак след десетичната запетая.

 

Благодаря предварително!

 

 

0
Programming Basics with Java
ValentinTyanov avatar ValentinTyanov 20 Точки

Намерих си грешката, в double grade съм сложил Integer

double grade = Integer.parseInt(sc.nextLine());

 

laugh

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.