Programming Basics Online Exam - 15 and 16 June 2019 - 02. Lunch Break - Java
На компилатора всичко е ок, но Judge ми дава само 25/100. Не мога да си открия грешката.
Задача 2. Обедна почивка
По време на обедната почивка искате да изгледате епизод от своя любим сериал. Вашата задача е да напишете програма, с която ще разберете дали имате достатъчно време да изгледате епизода. По време на почивката отделяте време за обяд и за отдих. Времето за обяд ще бъде 1/8 от времето за почивка, а времето за отдих ще бъде 1/4 от времето за почивка.
Вход
От конзолата се четат 3 реда:
- Име на сериал – текст
- Продължителност на епизод – цяло число в диапазона [10… 90]
- Продължителност на почивката – цяло число в диапазона [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); } } }
Благодаря за помощта.