Професионална програма
Loading...
Olya_Pancheva avatar Olya_Pancheva 0 Точки

Задача 8. Train the trainers

Здарвейте, колеги.

Имам проблем със задача № 8 Train the trainers от упражненията.

Това е моето решение:

import java.util.Scanner;

public class ex08_TrainTheTrainers {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int people = Integer.parseInt(scanner.nextLine());
        String namePresent = scanner.nextLine();

        double averageGrade = 0;
        double gradeCounter = 0;
        double sumAverageGrade = 0;
        double sumGrade = 0;
        double allGrade = 0;

        while (!namePresent.equals("Finish")) {
            sumGrade = 0;
            for (gradeCounter = 1.00; gradeCounter <= people; gradeCounter++) {
                double grade = Double.parseDouble(scanner.nextLine());

                sumGrade += grade;
                if (gradeCounter == people) {
                    averageGrade = sumGrade / people;
                    sumAverageGrade += averageGrade;
                    
                    break;
                }

            }
            if (!namePresent.equals("Finish")) {
                System.out.printf("%s - %.2f.%n", namePresent, averageGrade);

            }
            namePresent = scanner.nextLine();
        }
        if (namePresent.equals("Finish")) {

            double totalGrade = allGrade / gradeCounter;
            System.out.printf("Student's final assessment is %.2f.", totalGrade);
        }
    }
}

Проблемът е при изчисляването на totalGrade. 

Ако някой може да помогне ?!

 

Тагове:
0
Programming Basics with Java
yanmario avatar yanmario 58 Точки

Здравей,

C# карам но мога да ти помогна.

Добави във for цъкъла allGrade+= grade; за да ти брой всички оценки и добави в променливата.

Правиш един gradeCounter променлива и го слагаш във for цикъла gradeCounter++.

И от там си ги разделяш allGrade / gradeCounter да получиш общата оценка.

Ето моето решение на C# не е най-доброто но върши работа :) .https://pastebin.com/XDeTBZkS

Надявам се това да ти помогне.

0
28/10/2018 22:11:17
Olya_Pancheva avatar Olya_Pancheva 0 Точки

Благодаря много!

0
Simo86 avatar Simo86 29 Точки

Ето аз съм ти я оправил дава 100/100.

 

import java.util.Scanner;

public class TrainTheTrainers {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int people = Integer.parseInt(scanner.nextLine());
        String namePresent = scanner.nextLine();
        
        double averageGrade = 0;
        double gradeCounter = 0;
        double counter = 0;
        double sumGrade = 0;
        double allGrade = 0;
        while (!namePresent.equals("Finish")) {
            sumGrade = 0;
            for (gradeCounter = 1.00; gradeCounter <= people; gradeCounter++) {
                double grade = Double.parseDouble(scanner.nextLine());
                
                allGrade += grade;
                sumGrade += grade;
                counter++;
                if (gradeCounter == people) {
                    averageGrade = sumGrade / people;
                    break;
                }
            }
            if (!namePresent.equals("Finish")) {
                System.out.printf("%s - %.2f.%n", namePresent, averageGrade);
            }
            namePresent = scanner.nextLine();
        }
        if (namePresent.equals("Finish")) {

            double totalGrade = allGrade / counter;
            System.out.printf("Student's final assessment is %.2f.", totalGrade);
        }
    }
}



0
Bars1967 avatar Bars1967 9 Точки

"От конзолата на първият ред се прочита броят на хората в журито n - цяло число в интервала [1…20]"

Условието за ограничен брой съдии не е спазено, не са се сетили да го включат в проверката, иначе щеше да гръмне.

0