05. Fitness Center 05. Fitness Center JavaProgrammingBasics.
Здравейте колеги,
Някой може ли да ми каже къде бъркам?
Решението ми минава 2-та примерни теста , но ми дава 0/100 точки.
Изпит по "Основи на програмирането" - 9 и 10 Март 2019
Задача 5. Фитнес център
Напишете програма, която да изчислява броя на посетителите в един фитнес център. В началото програмата получава броя на посетителите на фитнеса и за всеки човек - дейността, която извършва във фитнеса. На края програмата трябва да отпечата броят трениращи за всяка една дейност ("Back", "Chest", 'Legs", "Abs") и броят клиенти, закупили продукт ("Protein shake", "Protein bar"). Също така - процентът трениращи (спрямо общия брой посетители) и процентът на клиентите, закупили продукт от фитнеса.
Вход
От конзолата се чете число, след това поредица от низове, всяко на отделен ред:
- На първия ред – броят на посетителите във фитнеса – цяло число в интервала [1...1000]
- За всеки един посетител на отделен ред – дейността във фитнеса – текст ("Back", "Chest", "Legs", "Abs", "Protein shake" или "Protein bar")
Изход
Да се отпечатат на конзолата 8 реда, които съдържат следната информация:
Ред 1 -"{брой хора трениращи гръб} - back"
Ред 2 -"{брой хора трениращи гърди} - chest"
Ред 3 -"{брой хора трениращи крака} - legs"
Ред 4 -"{брой хора трениращи коремни мускули} - abs"
Ред 5 -"{брой хора закупили протеинов шейк} - protein shake"
Ред 6 -"{брой хора закупили протеинов блок} - protein bar"
Ред 7 -"{процент на хората дошли да тренират}% - work out"
Ред 8 -"{процент на хората дошли да купят протеин}% - protein"
Всички проценти трябва да са форматирани до втората цифра след десетичния знак.
Примерен вход и изход
Вход |
Изход |
Обяснения |
10 Back Chest Legs Abs Protein shake Protein bar Protein shake Protein bar Legs Abs |
1 - back 1 - chest 2 - legs 2 - abs 2 - protein shake 2 - protein bar 60.00% - work out 40.00% - protein
|
Back – един Chest – един Legs – двама Abs – двама Protein shake – двама Protein bar – двама 6 посетители са тренирали – 6 от 10 ->60% 4 посетители са закупили продукти – 4 от 10 -> 40%
|
Вход |
Изход |
|
7 Chest Back Legs Legs Abs Protein shake Protein bar
|
1 - back 1 - chest 2 - legs 1 - abs 1 - protein shake 1 - protein bar 71.43% - work out 28.57% - protein |
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double members = Double.parseDouble(scanner.nextLine()); int backWorkout = 0; int chestWorkout = 0; int legsWorkout = 0; int absWorkout = 0; int sellsProteinShakes = 0; int sellsProteinBars = 0; int activeMembers = 0; int inActiveMembers = 0; String typeOfActivity = scanner.nextLine(); for (int i = 1; i <= members; i++) { if (typeOfActivity.equalsIgnoreCase("back")) { backWorkout++; activeMembers++; } else if (typeOfActivity.equalsIgnoreCase("chest")) { chestWorkout++; activeMembers++; } else if (typeOfActivity.equalsIgnoreCase("abs")) { absWorkout++; activeMembers++; } else if (typeOfActivity.equalsIgnoreCase("legs")) { legsWorkout++; activeMembers++; } else if (typeOfActivity.equalsIgnoreCase("protein shake")) { sellsProteinShakes++; inActiveMembers++; } else if (typeOfActivity.equalsIgnoreCase("protein bar")) { sellsProteinBars++; inActiveMembers++; } typeOfActivity = scanner.nextLine(); } System.out.printf("%d - back%n", backWorkout); System.out.printf("%d - chest%n", chestWorkout); System.out.printf("%d - legs%n", legsWorkout); System.out.printf("%d - abs%n", absWorkout); System.out.printf("%d - protein shake%n", sellsProteinShakes); System.out.printf("%d - protein bar%n", sellsProteinBars); System.out.printf("%.2f%% - work out%n", (activeMembers / members) * 100); System.out.printf("%.2f%% - protein%n", (inActiveMembers / members) * 100); } }