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);
}
}
}
Много благодаря :) Стана :)