Loading...
todor0912 avatar todor0912 35 Точки

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 , някой ако може да ми каже къде ми е грешката , защотото не мога да я намеря.Благодаря Предварително ! 

Тагове:
0
Programming Basics
Ivelin_Dimitrov avatar Ivelin_Dimitrov 148 Точки

Може ли и условието да ни покажеш и линк за Judge, Благодаря...

0
02/03/2018 14:52:57
todor0912 avatar todor0912 35 Точки

https://judge.softuni.bg/Contests/Practice/Index/828#2 - Извинявай , линк и условието.

0
Ivelin_Dimitrov avatar Ivelin_Dimitrov 148 Точки

Ами при 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) * киограмите, защото нацинката е на кг. След което ги събираш за да получиш крайната цена за км, която да умножиш по дистанцията.

1
02/03/2018 15:31:54
todor0912 avatar todor0912 35 Точки

Благодаря , разбрах си грешката :) 

0
svetoslav_0 avatar svetoslav_0 1009 Точки

Мисля, че бъркаш в изчисленията с Express.

0
todor0912 avatar todor0912 35 Точки

Разбрах къде ми е грешката , Благодаря :) 

0
todor0912 avatar todor0912 35 Точки

Благодаря за помощта , разбрах къде ми е грешката.

0
TodorovP avatar TodorovP 177 Точки

Да, това беше една от задачите с отвратително поставено условие. Отне ми доста време докато разбера какво е искал да каже авторът.

При експресна услуга при < 1 кг. стойността би следвало да се изчисли така:

distance + 0.03 *(1 + weight * 0.80),

защото текстът от условието "на килограм по 80 % от съответната цена на километър" следва да се разбира, че за всеки килорам базовата цена следва да се увеличи с 80%, а именно това е

0.03 * weight * 0.80

За следващите е същото.

1
02/03/2018 15:34:48
todor0912 avatar todor0912 35 Точки

Благодаря , да условието не е от най - точните и разбиращи се. 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.