Софтуерно Инженерство
Loading...
+ Нов въпрос
sasobig12 avatar sasobig12 -6 Точки

В козолата рабоити но на judge е 50%. Уай?

Здравейте!

 

решавам задача от PB на Java. Уорък е Вложени условни конструкции. За мое съжаление тази задача не може да се провери в judge а момчето което е водило упражнението не я е решило на видеото а в папката на упражнението не са качени отговорите. 

В конзолата задачата ми работи с проверките на 100%. В Judge обаче нещо се чупи и той ( ДЖЪДЖА) ми дава само 50%. Халал да са му останалите 50%, обаче не това е проблема. Проблема е, че не знам какво се чупи. При някакво условие задачата не е вярна, но кое е това условие. На предният въпрос видях, че се избихте да ми помагате. Този път не бързайте и не се блъскайте. Все пак ако някой як програмист реши, че може да ми помогне ще съм му много задължен ( никога не знаеш кой ти става задължен в интернет).

Така. Линка към задачата е:

https://softuni.bg/trainings/resources/officedocument/35593/exercise-problem-descriptions-programming-basics-with-java-october-2018/2155

 

задача №5

Нов дом.

import java.util.Scanner;

public class Task5 {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        double rosesPrice = 5;
        double dahliasPrice = 3.8;
        double tulipsPrice = 2.8;
        double narcissusPrice = 3;
        double gladiolusPrice = 2.5;


        String flowers = scanner.nextLine();
        int flowersNumber = Integer.parseInt(scanner.nextLine());
        double budget = Double.parseDouble(scanner.nextLine());

        double price = 0;

        if (flowers.equalsIgnoreCase("Roses")) {
            if (flowersNumber > 80) {
                price = flowersNumber * rosesPrice - (flowersNumber * rosesPrice * 10 / 100);
            } else {
                price = flowersNumber * rosesPrice;
            }
        } else if (flowers.equalsIgnoreCase("Dahlias")) {
            if (flowersNumber > 90) {
                price = flowersNumber * dahliasPrice - (flowersNumber * dahliasPrice * 15 / 100);
            } else {
                price = flowersNumber * dahliasPrice;
            }
        } else if (flowers.equalsIgnoreCase("Tulips")) {
            if (flowersNumber > 80) {
                price = flowersNumber * tulipsPrice - (flowersNumber * tulipsPrice * 15 / 100);
            } else {
                price = flowersNumber * tulipsPrice;
            }
        } else if (flowers.equalsIgnoreCase("Narcissus")) {
            if (flowersNumber < 120) {
                price = flowersNumber * narcissusPrice + (flowersNumber * narcissusPrice * 15 / 100);
            } else {
                price = flowersNumber * narcissusPrice;
            }
        } else if (flowers.equalsIgnoreCase("Gladiolus")) {
            if (flowersNumber < 80) {
                price = flowersNumber * gladiolusPrice + (flowersNumber * gladiolusPrice * 20 / 100);
            } else {
                price = flowersNumber * gladiolusPrice;
            }
        }

        if (budget > price) {
            System.out.printf("Hey, you have a great garden with %d %s and %.2f leva left.", flowersNumber, flowers, (budget - price));
        }else{
            System.out.printf("Not enough money, you need %.2f leva more.", (price - budget));
        }
    }
}

 

Сега се уча и моля да ми простите ако решението е очевидно а аз нямам очи да го видя.

 

Благодаря ви предварително.

Поздрави,

Александър

Тагове:
The_assassin avatar The_assassin 158 Точки

Опитай така:

if (budget > price) »» if (budget >= price)

0
e.manolov avatar e.manolov 78 Точки

Здравей, колега една малка грешчица виждам, от която може би ти коства и загубата на точки, а именно:

В условието, се казва, че ако бюджетът ти е достатъчен, т.е. 

if (budget >= price), а ти си написал if (budget > price) - изписваш 
System.out.printf("Hey, you have a great garden with %d %s and %.2f leva left.", flowersNumber, flowers, (budget - price));

 

При тебе когато budget = price казваш, че не са ти стигнали парите, а е точно обратното.

Мисля, че ме разбра.

Дано вземеш максимум точки с тази промяна.

Един съвет: когато ти минават всички тестове, и не ти минават 1-2, опитай се да хванеш ключовите моменти, при тези при които може да се сбърка, а именно тука е когато budget = price.

Успех.

0
09/11/2018 11:18:50
sasobig12 avatar sasobig12 -6 Точки

Да. Това беше грешката. Благодаря за помоща. Преписах задачата 3 пъти. Явно трябва да съм много внимателен с условията.

 

 

0
calebmyers avatar calebmyers 0 Точки

Благодаря ти много! Реших проблема с твоята помощsmiley 

google street view

0
coolkiu00 avatar coolkiu00 -1 Точки

I had the answer when I finished reading your article!

Please used cool maps when traveling offline!

-1