Loading...
dianamuhtarova avatar dianamuhtarova 2 Точки

Conditional statements advanced - FruitShop 79 точки в Judge

Здравейте,

Имам някакъв проблем при този примерен вход:

tomato

Monday

0.5

Като втори ред ми изпечатва 0.0, а не трябва. Трябва да изписва един ред - error. Всичко друго работи, но не мога да си открия грешката и не мога да взема 100 точки в Dudge. Моля ако някой може да ми помогне.

 

https://pastebin.com/qRPFnYiz

 

 

Тагове:
0
Programming Basics with Java
Axiomatik avatar Axiomatik 2422 Точки
package ConditionalStatementsAdvanced;
 
import java.util.Scanner;
 
public class fruitShop {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
 
        String fruit = scanner.nextLine();
        String day = scanner.nextLine();
        double quantity = Double.parseDouble(scanner.nextLine());
 
        double result = 0.0;
        if (day.equals("Monday") ||
        day.equals("Tuesday") ||
        day.equals("Wednesday") ||
        day.equals("Thursday") ||
        day.equals("Friday")) {
            if (fruit.equals("banana")){
                result = 2.50 * quantity;
            } else if (fruit.equals("apple")) {
                result = 1.20 * quantity;
            }else if (fruit.equals("orange")) {
                result = 0.85 * quantity;
            }else if (fruit.equals("grapefruit")){
                result = 1.45 * quantity;
            }else if (fruit.equals("kiwi")) {
                result = 2.70 * quantity;
            }else if (fruit.equals("pineapple")){
                result = 5.50 * quantity;
            }else if (fruit.equals("grapes")) {
                result = 3.85 * quantity;
            }else {
                System.out.println("error");
            }
            if(result > 0){
                System.out.printf("%.2f", result);
            }
 
        } else if (day.equals("Saturday") ||
        day.equals("Sunday")) {
            if (fruit.equals("banana")){
                result = 2.70 * quantity;
            } else if (fruit.equals("apple")) {
                result = 1.25 * quantity;
            }else if (fruit.equals("orange")) {
                result = 0.90 * quantity;
            }else if (fruit.equals("grapefruit")) {
                result = 1.60 * quantity;
            }else if (fruit.equals("kiwi")) {
                result = 3.00 * quantity;
            }else if (fruit.equals("pineapple")) {
                result = 5.60 * quantity;
            }else if (fruit.equals("grapes")) {
                result = 4.20 * quantity;
            } else {
                System.out.println("error");
            }
            if(result > 0){
                System.out.printf("%.2f", result);
            }
        }else {
            System.out.println("error");
        }
    }
}
 
 

 

0
dianamuhtarova avatar dianamuhtarova 2 Точки

Здравей,

Благодаря много за отговора, по този начин ми качва точките в Judge до 88. Като отворя details ми изписва на 17 и 18 тест това:

The process executing your submission for this test may not have received the output successfully. Please try to submit again the same solution. If the result does not change, then search the error in the submission itself.

А всъщност като тествам с възможните входове всичко работи. Тоест би трябвало да ми даде 100 точки.

0
Axiomatik avatar Axiomatik 2422 Точки

Hmm, I get 100%. Try again, maybe some temporary bug with judge?

 

0
dianamuhtarova avatar dianamuhtarova 2 Точки

It's not Judge, it's my mistake! I have forgotten to write:

}else { System.out.println("error");

after the condition related with Satyrday and Sunday. Finally I have 100% 

Thank you once again!

1
MANEKENA avatar MANEKENA 118 Точки

мога да ти дам хинт за ползване на тернарен оператор ,за да не се налага да пишеш по два пъти едни и същи проверки :

https://github.com/Petrov-connect/Programming-Basics-with-Java/blob/master/FruitShop2.java

0
dianamuhtarova avatar dianamuhtarova 2 Точки

Супер,

Благодаря!

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