Въпрос относно задача "Хотелска стая" от "Упражнение: По-сложни проверки" Java
Здравейте , ето това е условието на задачата :
Хотелска стая
Хотел предлага 2 вида стаи: студио и апартамент. Напишете програма, която изчислява цената за целия престой за студио и апартамент. Цените зависят от месеца на престоя:
Май и октомври |
Юни и септември |
Юли и август |
Студио – 50 лв./нощувка |
Студио – 75.20 лв./нощувка |
Студио – 76 лв./нощувка |
Апартамент – 65 лв./нощувка |
Апартамент – 68.70 лв./нощувка |
Апартамент – 77 лв./нощувка |
Предлагат се и следните отстъпки:
- За студио, при повече от 7 нощувки през май и октомври : 5% намаление.
- За студио, при повече от 14 нощувки през май и октомври : 30% намаление.
- За студио, при повече от 14 нощувки през юни и септември: 20% намаление.
- За апартамент, при повече от 14 нощувки, без значение от месеца : 10% намаление.
Вход
Входът се чете от конзолата и съдържа точно 2 реда, въведени от потребителя:
- На първия ред е месецът – May, June, July, August, September или October
- На втория ред е броят на нощувките – цяло число в интервала [0 ... 200]
Изход
Да се отпечатат на конзолата 2 реда:
- На първия ред: “Apartment: {цена за целият престой} lv.”
- На втория ред: “Studio: {цена за целият престой} lv.“
Цената за целия престой форматирана с точност до два знака след десетичната запетая.
Примерен вход и изход
Вход |
Изход |
Обяснения |
|
May 15 |
Apartment: 877.50 lv. Studio: 525.00 lv. |
През май, при повече от 14 нощувки, намаляваме цената на студиото с 30% (50 – 15 = 35), а на апартамента – с 10% (65 – 6.5 =58.5). Целият престой в апартамент – 877.50 лв. Целият престой в студио – 525.00 лв. |
|
Вход |
Изход |
Вход |
Изход |
June 14 |
Apartment: 961.80 lv. Studio: 1052.80 lv. |
August 20 |
Apartment: 1386.00 lv. Studio: 1520.00 lv. |
В judge ми дава само 90/100 и ми е интересно защо. Прегледах условието и кода няколко пъти да не би да съм пропуснал някоя точка ,запетая или нещо подобно но всичко ми изглежда наред. Някакви идеи ? Ето го кодът :
import java.util.Scanner; public class HotelRoom { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String month = scan.nextLine(); int nights = Integer.parseInt(scan.nextLine()); double studio = 0; double apartmet = 0; if ("May".equals(month) || "October".equals(month)) { studio = 50; apartmet = 65; } else if ("June".equals(month) || "Spetember".equals(month)) { studio = 75.20; apartmet = 68.70; } else if ("July".equals(month) || "August".equals(month)) { studio = 76; apartmet = 77; } if (("May".equals(month) || "October".equals(month))) { if (nights >7 && nights<=14) { studio = studio * 0.95; }else if ( nights >14){ studio = studio* 0.7; } }else if (("June".equals(month) || "September".equals(month)) && nights > 14) { studio = studio * 0.8; } if (nights>14){ apartmet = apartmet*0.9; } double apartmentPrice = apartmet*nights; double studioPrice = studio*nights; System.out.printf("Apartment: %.2f lv. %n", apartmentPrice); System.out.printf("Studio: %.2f lv.", studioPrice); } }