Ski trip java
Здравейте,
Може ли малко помощ,моля, да разбера къде греша?
Judge ми дава 70 от 100, като дава, че има грешки в три теста и не показва какво очаква.
Ето го кодаhttps://pastebin.com/DZ5CWvN8
Предварително благодаря
Здравейте,
Може ли малко помощ,моля, да разбера къде греша?
Judge ми дава 70 от 100, като дава, че има грешки в три теста и не показва какво очаква.
Ето го кодаhttps://pastebin.com/DZ5CWvN8
Предварително благодаря
Проблемът ти е, че си написал ||, а не && при проверката на apartment. Добавил съм коментар при грешката: https://pastebin.com/CUvBfPi6
Ники здравей,
Ето едно решение и от мен, ако нещо те затруднява https://pastebin.com/wGrUvdtT (минава 100/100)
Успех
Много ти благодаря :)
Ето ти и един елегантен switch case, много по-лесно става...е отне ми 2 часа...
този начин на кодиреане, и въобще логика на структуриране, го видях от една колежка и доста добре работи...
import java.util.Scanner; public class Holiday { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int days = Integer.parseInt(scanner.nextLine()); String place = scanner.nextLine(); String evaluation = scanner.nextLine(); double price = 0; switch (place) { case "room for one person": if (days > 0) { price = 18; }break; case "apartment": price = 25; if (days < 10){ price = 25 * 0.7; }else if ( days <= 15 ){ price = 25 * 0.65; }else { price = 25 * 0.5; }break; case "president apartment": price = 35; if (days <= 10){ price = 35 * 0.9; }else if ( days <= 15 ){ price = 35 * 0.85; }else { price = 35 * 0.8; } break; } if (days >0 && "positive".equals(evaluation)){ price *= 1.25; double night = days - 1; System.out.printf("%.2f", price * night); } else if ("negative".equals(evaluation)){ double night = days - 1; price *= 0.9; System.out.printf("%.2f", night * price); } } }
Здравейте колеги, прилагам този бърз и лесен код, разбираем и предполагам за начинаещите ще е доста по-лесно да схванат начина на действие :
package moreDifficulttriesExercise; import java.util.Scanner; public class SkiTrip { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //room for one person" – 18.00 лв за нощувка //apartment" – 25.00 лв за нощувка //president apartment" – 35.00 лв за нощувка //пример: 11 дни = 10 нощувки int days = Integer.parseInt(scanner.nextLine()); String room = scanner.nextLine(); String review = scanner.nextLine(); double price = 0.00; int nights = days - 1; if (room.equals("room for one person")) { price = nights * 18; } if (room.equals("apartment")) { price = nights * 25; if (days < 10) { price = price * 0.70; } else if (days > 10 && days < 15) { price = price * 0.65; } else if (days > 15) { price = price * 0.50; } } if (room.equals("president apartment")) { price = nights * 35; if (days < 10) { price = price * 0.90; } else if (days > 10 && days < 15) { price = price * 0.85; } else if (days > 15) { price = price * 0.80; } } if (review.equals("positive")) { price = price * 1.25; System.out.printf("%.2f", price); } else { price = price * 0.90; System.out.printf("%.2f", price); } } }
Много благодаря :) Стана :)