Loading...
deltanov avatar deltanov 5 Точки

Programming Basics with Java - Trade Commissions

Здравейте!

 

Опитвам се да реша задачата Търговски комисионни със switch, но неразбирам защо ми връща само грешки, а ако опитам да подам примерните И/О параметри минава (София/1500 = 120.00). Ето го и кода:

 

import java.util.Scanner;

public class CommissionTrade {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        String city = console.nextLine().toLowerCase();
        Integer volume = Integer.parseInt(console.nextLine());
        //Double quantity = Double.parseDouble(console.nextLine());
        switch (city){
            case "Sofia":
                if (0<=volume&&volume<=500) {
                    System.out.printf("%.2f", volume * 0.05);
                }
                else if(500<volume&&volume<=1000 ){
                    System.out.printf("%.2f", volume * 0.07);

                }
                else if(1000<volume&&volume<=10000 ){
                    System.out.printf("%.2f", volume * 0.08);

                }
                else if(10000<volume ){
                    System.out.printf("%.2f", volume * 0.12);

                }
            case "Plovdiv":
                if (0<=volume&&volume<=500) {
                    System.out.printf("%.2f", volume * 5.5);
                }
                else if(500<volume&&volume<=1000 ){
                    System.out.printf("%.2f", volume * 8);

                }
                else if(1000<volume&&volume<=10000 ){
                    System.out.printf("%.2f", volume * 12);

                }
                else if(10000<volume ){
                    System.out.printf("%.2f", volume * 14.5);

                }
            case "Varna":
                if (0<=volume&&volume<=500) {
                    System.out.printf("%.2f", volume * 4.5);
                }
                else if(500<volume&&volume<=1000 ){
                    System.out.printf("%.2f", volume * 7.5);

                }
                else if(1000<volume&&volume<=10000 ){
                    System.out.printf("%.2f", volume * 10);

                }
                else if(10000<volume ){
                    System.out.printf("%.2f", volume * 13);

                }
        }
    }
}
0
Programming Basics
veronikaaa86 avatar veronikaaa86 365 Точки
Best Answer

На пръв поглед виждам ,че нямаш brake след case и за това влиза във всеки case :)

0
deltanov avatar deltanov 5 Точки

Мерси!:) Явно съм го проспал...:)

0
Kristiyan93 avatar Kristiyan93 34 Точки

Забравил си да брейкнеш,  на всеки кейс трябва да брейкваш

case "Sofia":
                if (0<=volume&&volume<=500) {
                    System.out.printf("%.2f", volume * 0.05);
                }
                else if(500<volume&&volume<=1000 ){
                    System.out.printf("%.2f", volume * 0.07);

                }
                else if(1000<volume&&volume<=10000 ){
                    System.out.printf("%.2f", volume * 0.08);

                }
                else if(10000<volume ){
                    System.out.printf("%.2f", volume * 0.12);

                }
Break;

 
0
Kristiyan93 avatar Kristiyan93 34 Точки

Пиша от телефона

Case "stringa" :

Каво да прави;

Break;

Case "str2" :

Направи това;

Break ;

 

0
06/10/2017 23:38:52
deltanov avatar deltanov 5 Точки

Леле, вярно, че съм забравил брейк-а:))) Много мерси!:) 

0
deltanov avatar deltanov 5 Точки

Странно - сложих брейк и пак не върви.... ето го кода сега:

 

import java.util.Scanner;

public class CommissionTrade {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        String city = console.nextLine().toLowerCase();
        Integer volume = Integer.parseInt(console.nextLine());
        //Double quantity = Double.parseDouble(console.nextLine());
        switch (city){
            case "Sofia":
                if (0<=volume&&volume<=500) {
                    System.out.printf("%.2f", volume * 0.05);
                }
                else if(500<volume&&volume<=1000 ){
                    System.out.printf("%.2f", volume * 0.07);

                }
                else if(1000<volume&&volume<=10000 ){
                    System.out.printf("%.2f", volume * 0.08);

                }
                else if(10000<volume ){
                    System.out.printf("%.2f", volume * 0.12);

                }
                break;
            case "Plovdiv":
                if (0<=volume&&volume<=500) {
                    System.out.printf("%.2f", volume * 5.5);
                }
                else if(500<volume&&volume<=1000 ){
                    System.out.printf("%.2f", volume * 8);

                }
                else if(1000<volume&&volume<=10000 ){
                    System.out.printf("%.2f", volume * 12);

                }
                else if(10000<volume ){
                    System.out.printf("%.2f", volume * 14.5);

                }
                break;
            case "Varna":
                if (0<=volume&&volume<=500) {
                    System.out.printf("%.2f", volume * 4.5);
                }
                else if(500<volume&&volume<=1000 ){
                    System.out.printf("%.2f", volume * 7.5);

                }
                else if(1000<volume&&volume<=10000 ){
                    System.out.printf("%.2f", volume * 10);

                }
                else if(10000<volume ){
                    System.out.printf("%.2f", volume * 13);

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