Loading...
VictoriaPavlova avatar VictoriaPavlova 0 Точки

Trade Comissions

Системата ми дава 94 точки и не мога да открия проблема. Благодаря предварително.

 

 

1.Търговски комисионни

Фирма дава следните комисионни на търговците си според града, в който работят и обема на продажбите s:

Град

0 ≤ s ≤ 500

500 < s ≤ 1 000

1 000 < s ≤ 10 000

s > 10 000

Sofia

5%

7%

8%

12%

Varna

4.5%

7.5%

10%

13%

Plovdiv

5.5%

8%

12%

14.5%

Напишете конзолна програма, която чете име на град (стринг) и обем на продажби (десетично число) , въведени от потребителя, и изчислява и извежда размера на търговската комисионна според горната таблица. Резултатът да се изведе закръглен с 2 цифри след десетичната точка. При невалиден град или обем на продажбите (отрицателно число) да се отпечата "error".

Примерен вход и изход

вход

изход

 

вход

изход

 

вход

изход

 

вход

изход

Sofia

1500

120.00

Plovdiv

499.99

27.50

Varna

3874.50

387.45

Kaspichan

-50

error

Тествайте решението си в judge системата: https://judge.softuni.bg/Contests/Compete/Index/1013#6

* Подсказки:

  • Прочетете входа и обърнете града в малки букви (като в предходната задача).
  • Първоначално задайте комисионна -1. Тя ще бъде променена, ако градът и ценовият диапазон бъдат намерени в таблицата с комисионните.
  • Използвайте вложени if проверки, за да изчислите комисионната според града и според обема на продажбите. Може да си помогнете с кода по-долу:

  • Накрая проверете комисионната. Ако все още е -1, значи въведеният град или обем продажби не се срещат в таблицата с комисионните и трябва да се отпечата „error“. В противен случай трябва да се изчисли комисионната (процент комисионна по обем на продажбите) и да се отпечата със закръгляне с точно 2 цифри след десетичната точка. Може да използвате System.out.printf("%.2f", commission);







import java.util.Scanner;

public class p07_tradeComissions {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        String town = scanner.nextLine();
        double sales = Double.parseDouble(scanner.nextLine());

      double commission = -1;


        if (town.equalsIgnoreCase("Sofia")) {
            if (sales >= 0 && sales <= 500) commission = 0.05;
            else if(sales>=500 && sales <=1000) commission = 0.07;
            else if(sales>=1000 && sales<= 10000) commission = 0.08;
            else if(sales>= 10000)  commission = 0.12;
                System.out.printf("%.2f", commission*sales);
            }
        else if(town.equalsIgnoreCase("Varna")) {
            if (sales >= 0 && sales <= 500) commission = 0.045;
            else if (sales >= 500 && sales <= 1000) commission = 0.075;
            else if (sales >= 1000 && sales <= 10000) commission = 0.1;
            else if (sales >= 10000) commission = 0.13;
                System.out.printf("%.2f", commission*sales);
            }
        else if (town.equalsIgnoreCase("Plovdiv")) {
            if (sales >= 0 && sales <= 500) commission = 0.055;
            else if (sales >= 500 && sales <= 1000) commission = 0.08;
            else if (sales >= 1000 && sales <= 10000) commission = 0.12;
            else if (sales >= 10000) commission = 0.145;
            System.out.printf("%.2f", commission * sales); }
        if (commission<=0) {
                System.out.println("error");
            }
            

    }
}
    
Тагове:
0
Programming Basics
vangel avatar vangel 51 Точки
Best Answer

На последният тест при входни данни

Plovdiv

-20

Твоят код връща отговор 20.00error. Трябва да добавиш проверка sales >= 0 в условията

 

import java.util.Scanner;

public class p07_tradeComissions {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        String town = scanner.nextLine();
        double sales = Double.parseDouble(scanner.nextLine());

      double commission = -1;


        if (town.equalsIgnoreCase("Sofia") && sales >= 0) {
            if (sales >= 0 && sales <= 500) commission = 0.05;
            else if(sales>500 && sales <=1000) commission = 0.07;
            else if(sales>1000 && sales<= 10000) commission = 0.08;
            else if(sales> 10000)  commission = 0.12;
                System.out.printf("%.2f", commission*sales);
            }
        else if(town.equalsIgnoreCase("Varna") && sales >= 0) {
            if (sales >= 0 && sales <= 500) commission = 0.045;
            else if (sales > 500 && sales <= 1000) commission = 0.075;
            else if (sales > 1000 && sales <= 10000) commission = 0.1;
            else if (sales > 10000) commission = 0.13;
                System.out.printf("%.2f", commission*sales);
            }
        else if (town.equalsIgnoreCase("Plovdiv") && sales >= 0) {
            if (sales >= 0 && sales <= 500) commission = 0.055;
            else if (sales > 500 && sales <= 1000) commission = 0.08;
            else if (sales > 1000 && sales <= 10000) commission = 0.12;
            else if (sales > 10000) commission = 0.145;
            System.out.printf("%.2f", commission * sales); }
        else {
                System.out.println("error");
            }
            

    }
}
    

0
VictoriaPavlova avatar VictoriaPavlova 0 Точки

Благодаря, вече са 100 от 100 :)

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