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

Задача Computer Store - Java

Здравейте, 

Някой може ли да ми помогне с тази задача.

01. Programming Fundamentals Mid Exam Retake - SoftUni Judge

Решението ми дава 83/100 в judge.

Има грешен резултат на тест 5. Не мога да разбера къде е проблемът.

Ето го решението: 

---------

 

import java.util.Scanner;

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

        String input = scanner.nextLine();
        double sum = 0;
        double taxes = 0;
        String customer = "";

        while (!input.equals("special") && !input.equals("regular")) {

            double givenPrice = Double.parseDouble(input);

            if (givenPrice <= 0) {
                System.out.println("Invalid price!");
                input = scanner.nextLine();
                continue;
            }

            sum += givenPrice;
            double tax = 0.20 * givenPrice;
            taxes += tax;

            input = scanner.nextLine();
            customer = input;
        }

        if (sum <= 0) {
            System.out.println("Invalid order!");
            return;
        }

        double finalSum = sum + taxes;
        if (customer.equals("special")) {
            finalSum -= finalSum * 0.10;
        }

        System.out.println("Congratulations you've just bought a new computer!");
        System.out.printf("Price without taxes: %.2f$%n", sum);
        System.out.printf("Taxes: %.2f$%n", taxes);
        System.out.println("-----------");
        System.out.printf("Total price: %.2f$%n", finalSum);

    }
}
Тагове:
0
Java Fundamentals
icowwww avatar icowwww 2779 Точки

Здравей,

Когато получиш невалидна цена четеш следващия инпут и преминаваш към следващата итерация. Когато обаче веднага след невалидната цена получиш типа на клиента не го записваш в променливата customer.

Добави я преди continue

System.out.println("Invalid price!");
input = scanner.nextLine();
customer = input;
continue;
0
19/10/2023 19:11:54
kbayryakov avatar kbayryakov 0 Точки

Благодаря!

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