Loading...
aleksandra.zhv avatar aleksandra.zhv 0 Точки

Проблем със задача 8.ToyShop (Java)

Здравейте,

Имам проблем със задачата Toy Shop. Промених няколко пъти кода, но Judge продължава да ми дава 90/100. Излизат ми същите стойности както в примерните в задачата, но явно изпускам нещо. Надявам се някой от вас да ми каже къде греша, тъй като аз така и не можах да открия грешката си. Благодаря предварително. Прилагам условието на задачата:

 

https://pastebin.com/FzsbDGsC?fbclid=IwAR3_7R63UOtTvTDnTAybbySn1B1jsIMe1htGHCn1PVaB-Z4FcqPmjBFCLeI

Магазин за детски играчки

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

Цени на играчките:

  • Пъзел - 2.60 лв.
  • Говореща кукла - 3 лв.
  • Плюшено мече - 4.10 лв.
  • Миньон - 8.20 лв.
  • Камионче - 2 лв.

Ако поръчаните играчки са 50 или повече магазинът прави отстъпка 25% от общата цена. От спечелените пари Петя трябва да даде 10% за наема на магазина. Да се пресметне дали парите ще ѝ стигнат да отиде на екскурзия.

Вход

От конзолата се четат 6 реда:

  1. Цена на екскурзията - реално число в интервала [1.00 … 10000.00]
  2. Брой пъзели - цяло число в интервала [0… 1000]
  3. Брой говорещи кукли - цяло число в интервала [0 … 1000]
  4. Брой плюшени мечета - цяло число в интервала [0 … 1000]
  5. Брой миньони - цяло число в интервала [0 … 1000]
  6. Брой камиончета - цяло число в интервала [0 … 1000]

Изход

На конзолата се отпечатва:

  • Ако парите са достатъчни се отпечатва:
    • "Yes! {оставащите пари} lv left."
  • Ако парите НЕ са достатъчни се отпечатва:
    • "Not enough money! {недостигащите пари} lv needed."

 

Резултатът трябва да се форматира до втория знак след десетичната запетая.

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

Вход

Изход

Обяснения

40.8

20

25

30

50

10

Yes! 418.20 lv left.

Сума: 20 * 2.60 + 25 * 3 + 30 * 4.10 + 50 * 8.20 + 10 * 2 = 680 лв.

Брой на играчките: 20 + 25 + 30 + 50 + 10 = 135

135 > 50 => 25% отстъпка; 25% от 680 = 170 лв. отстъпка

Крайна цена: 680 – 170 = 510 лв.

Наем: 10% от 510 лв. = 51 лв.

Печалба: 510 – 51 = 459 лв.

459 > 40.8 => 459 – 40.8 = 418.20 лв. остават

Вход

Изход

Обяснения

320

8

2

5

5

1

Not enough money! 238.73 lv needed.

Сума90.3 лв.

Брой на играчките21

21 < 50 => няма отстъпка

Наем: 10% от 90.3 = 9.03 лв.

Печалба: 90.3 – 9.03 = 81.27 лв.

81.27 < 320 => 320 – 81.27 = 238.73 лв. не достигат

 

 

Тагове:
0
Programming Basics
radostin.georgiev avatar radostin.georgiev 8 Точки

Здравей! При проверката за дали парите са достатъчни трябва да добавиш '=', дефакто в твоя случай

 "priceAfterRentе>= priceTrip" .Ако сумата е равна, тя пак може отиде на екскурзия и няма да има останали пари, дефакто ще изведе 0 за остатък.

 

0
aleksandra.zhv avatar aleksandra.zhv 0 Точки

Благодаря! Изобщо не съм обърнала внимание. 100/100 е сега

0
NikiKa avatar NikiKa 15 Точки

import java.util.Scanner;

public class ToyShop {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double price = Double.parseDouble(scanner.nextLine());
        int puzzle = Integer.parseInt(scanner.nextLine());
        int doll = Integer.parseInt(scanner.nextLine());
        int bear = Integer.parseInt(scanner.nextLine());
        int minion = Integer.parseInt(scanner.nextLine());
        int truck = Integer.parseInt(scanner.nextLine());

        //  logic

        int toys = puzzle + doll + bear + minion + truck;
        double sum = (puzzle * 2.6) + (doll * 3) + (bear * 4.1) + (minion * 8.2) + (truck * 2);
        double discount = 0.0;

        if (toys >= 50) {
            discount = sum * .25;
        }
        double totalPrice = sum - discount;
        totalPrice = totalPrice - ( totalPrice * 0.1);


        if (price <= totalPrice ) {
            System.out.printf("Yes! %.2f lv left.", totalPrice - price);
        } else {
            System.out.printf("Not enough money! %.2f lv needed.", price - totalPrice);
        }
    }
}
 

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