Loading...
Bryan avatar Bryan 0 Точки

Programming Basics Online Exam - 15 and 16 June 2019 - 02. Lunch Break - Java

На компилатора всичко е ок, но Judge ми дава само 25/100. Не мога да си открия грешката.

 

Задача 2. Обедна почивка

По време на обедната почивка искате да изгледате епизод от своя любим сериал. Вашата задача е да напишете програма, с която ще разберете дали имате достатъчно време да изгледате епизода. По време на почивката отделяте време за обяд и за отдих. Времето за обяд ще бъде 1/8 от времето за почивка, а времето за отдих ще бъде 1/4 от времето за почивка.

Вход

От конзолата се четат 3 реда:

  1. Име на сериалтекст
  2. Продължителност на епизод  – цяло число в диапазона [10… 90]
  3. Продължителност на почивката  – цяло число в диапазона [10… 120]

Изход

На конзолата да се изпише един ред:

  • Ако времето е достатъчно да изгледате епизода:
  • You have enough time to watch {име на сериал} and left with {останало време} minutes free time."
  • Ако времето не Ви е достатъчно:
  • You don't have enough time to watch {име на сериал}, you need {нужно време} more minutes."

Времето да се закръгли до най-близкото цяло число нагоре.

Примерен вход и изход

Game of Thrones

60

96

You have enough time to watch Game of Thrones and left with 0 minutes free time.

Време за обяд : 96 * 1/8 = 12.0

Време за отдих : 96 * 1/4 = 24.0

Останало време : 96 - 12 - 24 = 60

Останалото време е по-голямо или равно на продължителността на епизода, следователно печатаме подходящия изход.

Teen Wolf

48

60

You don't have enough time to watch Teen Wolf, you need 11 more minutes.

Време за обяд : 60 * 1/8 = 7.5

Време за отдих : 60 * 1/4 = 15.0

Останало време : 60 – 7.5 - 15 = 37.5

Останалото време е по-малко от продължителността на епизода, следователно печатаме подходящия изход.

 

import java.util.Scanner;

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

        String movieName = scanner.nextLine();
        double movieTime = Double.parseDouble(scanner.nextLine());
        double breakTime = Double.parseDouble(scanner.nextLine());

        double lunchTime = breakTime * 1.0 / 8;
        double relaxTime = breakTime * 1.0 / 4;

        double freeTime = breakTime - lunchTime - relaxTime;
        double needTime = movieTime - freeTime;

        if (freeTime >= movieTime) {
            freeTime = movieTime;
            System.out.printf("You have enough time to watch %s and left with %.0f minutes free time.",
                    movieName, needTime);
        }
        if (freeTime < movieTime) {
            System.out.printf("You don't have enough time to watch %s, you need %.0f more minutes.",
                    movieName, needTime);
        }
    }
}

 

 

 

 

 

Тагове:
0
Programming Basics
svetoslav_0 avatar svetoslav_0 1009 Точки
Best Answer

Поправено решение: https://pastebin.com/iTMNVBT3
1. Можеш да си опростиш логиката в проверките накрая

2. Отговорът трябва да бъде закръглен до следващото цяло число. Или иначе казано: ако имаш резултат 11.3, то той трябва да се закръгли до следващото цяло число, което е 12. Това става с фунцията Math.Ceil()

0
25/07/2019 19:27:48
Bryan avatar Bryan 0 Точки

Благодаря за помощта.

0
RuNNeR4142 avatar RuNNeR4142 396 Точки

"Времето да се закръгли до най-близкото цяло число нагоре." ??

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