Problem 03 - Truck Driver
Здравейте правя задачата от изпита:
1.Изпит по "Основи на програмирането" – 19 март 2017 вечер
и ми принтира две числа и не мога да разбера защо прилагам код https://pastebin.com/5ThswBUj
Здравейте правя задачата от изпита:
и ми принтира две числа и не мога да разбера защо прилагам код https://pastebin.com/5ThswBUj
Принтира ти по две числа, защото и от двата if-a хваща по някой резултат, тъй като си използвал || навсякъде. Примерно ако сезонът ти е Spring/Autumn още първата проверка ще ти даде truе (тъй като въобще не проверява километрите като имаш едно вярно и ползваш "или"), а от долните проверки ще ти изпечата каквото съответства за километрите.
Здравей,
Според мен "...if (season == "Summer" || kmpermonth <= 5000)..." трябва да има и "else".
Прилагам и своето решение за сравнение, ако ще ти е интересно.
Поздрави
import java.util.Scanner;
public class TestForumQuestionLorryDriverSalary {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
String season = console.nextLine();
double distance = Double.parseDouble(console.nextLine());
double salary = 0;
if (distance > 10000 && distance <= 20000) {
salary = distance * 1.45;
} else if (distance > 5000 && distance <= 10000) {
if (season.equals("Winter")) {
salary = distance * 1.25;
} else if (season.equals("Summer")) {
salary = distance * 1.10;
} else {
salary = distance * 0.95;
}
} else {
if (season.equals("Winter")) {
salary = distance * 1.05;
} else if (season.equals("Summer")) {
salary = distance * 0.90;
} else {
salary = distance * 0.75;
}
}
salary = salary * 4 * 0.9;
System.out.printf("%.2f", salary);
}
}
Ето ти фикснат кода https://pastebin.com/qrJfdyRM освен, че си използвал || на всякъде.при първите проверки със Spring i Autumn трябва да им добавиш и скоби. Иначе ще ти даде 90/100.