03.Courier Express- Programming Basics - Exam
import java.util.Scanner;
public class CourierExpress {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
double weight = Double.parseDouble(console.nextLine());
String typeCourier = console.nextLine();
int distance = Integer.parseInt(console.nextLine());
double allPrice = 0.0;
if (typeCourier.equals("standard")){
if (weight < 1){
allPrice = distance * 0.03;
} else if (weight >=1 && weight <=10){
allPrice = distance * 0.05;
} else if (weight >=11 && weight <=40){
allPrice = distance * 0.10;
} else if (weight >= 41 && weight <=90){
allPrice = distance *0.15;
} else if (weight >= 91 && weight <=150){
allPrice = distance * 0.20;
}
} else if (typeCourier.equals("express")){
if (weight < 1){
allPrice = allPrice + 0.8 * 0.03 *distance * weight;
} else if (weight >=1 && weight <=10){
allPrice = allPrice + 0.4 * 0.05 *distance * weight;
} else if (weight >=11 && weight <=40){
allPrice = allPrice + 0.05 * 0.10 *distance * weight;
} else if (weight >=41 && weight <=90){
allPrice = allPrice + 0.02 * 0.15 * distance * weight;
} else if (weight >=91 && weight <=150){
allPrice = allPrice + 0.01* 0.20 *distance * weight;
}
}
System.out.printf("The delivery of your shipment with weight of %.3f kg. would cost %.2f lv.",weight,allPrice);
}
}
Това е моето решение но, Judge ми дава 50/100 , някой ако може да ми каже къде ми е грешката , защотото не мога да я намеря.Благодаря Предварително !
https://judge.softuni.bg/Contests/Practice/Index/828#2 - Извинявай , линк и условието.
Ами при express надценката трябва да я добавиш към цената на км, Смисъл след като изчислиш надценката която е (ценатаНаКм * надценка * наКиограм) ще получиш надценката във пари, и трябва да я добавиш към нормалната цена на киометър, за да получиш крайната цена за киометър. Трябва да е така
else if (typeCourier.equals("express")){ if (weight < 1){ allPrice = distance * (0.03 + (0.03 * 0.8 * weight)); } else if (weight >= 1 && weight <= 10){ allPrice = distance * (0.05 + (0.05 * 0.4 * weight)); } else if (weight >= 11 && weight <= 40){ allPrice = distance * (0.10 + (0.10 * 0.05 * weight)); } else if (weight >= 41 && weight <= 90){ allPrice = distance * (0.15 + (0.15 * 0.02 * weight)); } else if (weight >= 91 && weight <= 150){ allPrice = distance * (0.20 + (0.20 * 0.01 * weight)); } }Пример: allPrice = distance * (0.03 + (0.03 * 0.8 * weight));
0,03 e нормалната цена за км, а червеното е надценката която получаваш ката умножиш цената за км * 80% (0.8) * киограмите, защото нацинката е на кг. След което ги събираш за да получиш крайната цена за км, която да умножиш по дистанцията.
Благодаря , разбрах си грешката :)