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

Fruit Shop JAVA

Здравейте колеги, 

тази задачка няколко пъти я пререшавам ,но не ми дава пълните точки в judge и се чудя какъв ѝ  е проблемът?

Благодаря предварително!(отдолу е условието,после е решението).

1.Магазин за плодове

Магазин за плодове през работните дни работи на следните цени:

плод

banana

apple

orange

grapefruit

kiwi

pineapple

grapes

цена

2.50

1.20

0.85

1.45

2.70

5.50

3.85

Събота и неделя магазинът работи на по-високи цени:

плод

banana

apple

orange

grapefruit

kiwi

pineapple

grapes

цена

2.70

1.25

0.90

1.60

3.00

5.60

4.20

Напишете програма, която чете от конзолата плод (banana / apple / orange / grapefruit / kiwi / pineapple / grapes), ден от седмицата (Monday / Tuesday / Wednesday / Thursday / Friday / Saturday / Sunday) и количество (десетично число) , въведени от потребителя, и пресмята цената според цените от таблиците по-горе. При невалиден ден от седмицата или невалидно име на плод да се отпечата "error".

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

вход

изход

 

вход

изход

 

вход

изход

 

вход

изход

 

вход

изход

apple

Tuesday

2

2.40

orange

Sunday

3

2.70

kiwi

Monday

2.5

6.75

grapes

Saturday

0.5

2.10

tomato

Monday

0.5

error

 

 

 

FRUIT SHOP

package exercise3;

import java.util.Scanner;

public class FruitShop2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String fruit = scanner.nextLine();
        String day = scanner.nextLine();
        boolean iserror = false;
        double quantity = Double.parseDouble(scanner.nextLine());
        double price = 0.0;


        if (day.equals("Monday") || day.equals("Tuesday") || day.equals("Wednesday") || day.equals("Thursday")
                || day.equals("Friday")) {
           switch (fruit) {
               case "banana":
                   price = quantity * 2.5;
                   break;
               case "apple":
                   price = quantity * 1.20;
                   break;
               case "orange":
                   price = quantity * 0.85;
                   break;
               case "grapefruit":
                   price = quantity * 1.45;
                   break;
               case "kiwi":
                   price = quantity * 1.70;
                   break;
               case "pineaplle":
                   price = quantity * 1.50;
                   break;
               case "grape":
                   price = quantity * 3.85;
                   break;
               default:iserror = true; break;

           }

        }else if (day.equals("Saturday") || day.equals("Sunday")) {
           switch ("fruit") {
               case "banana":price = quantity * 2.7;break;
               case "apple":price = quantity * 1.25;break;
               case "orange":price = quantity * 0.9;break;
               case "grapefruit": price = quantity * 1.60;break;
               case "kiwi": price = quantity * 3.0;break;
               case "pineaplle": price = quantity * 5.60;break;
               case "grape": price = quantity * 4.20;break;
                default: iserror = true; break;
            }
        }else {
            iserror = true;
        }
        if (iserror){
            System.out.println("error");
        }else{
            System.out.printf("%.2f " , price);
        }

            }
        }

0
Programming Basics with Java
chrisi2712 avatar chrisi2712 272 Точки

Цената на кивито през работните дни е 2,70, ане 1,70

0
rossy11pavlova avatar rossy11pavlova 0 Точки

Мерси много,явно числата съм разбъркала на цените! 

0
yovkovbpfps avatar yovkovbpfps 8 Точки

import java.util.Scanner;

public class Main {
    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 price = 0 ;

        if("Monday".equals(day) ||
                "Tuesday".equals(day)||
                "Wednesday".equals(day)||
                "Thursday".equals(day)||
                "Friday".equals(day)) {
        if ("banana".equals(fruit)) {
            price = 2.50 ;
        }else if ("apple".equals(fruit)){
            price = 1.20 ;

        }else if ("orange".equals(fruit)){
            price = 0.85 ;

        }else if ("grapefruit".equals(fruit)){
            price = 1.45 ;
        }else if ("kiwi".equals(fruit)){
            price = 2.70 ;

        }else if ("pineapple".equals(fruit)) {
            price = 5.50 ;

        }else if ("grapes".equals(fruit)){
            price = 3.85 ;
        }
        }
        
        else if ("Saturday".equals(day) || "Sunday".equals(day)){
        if ("banana".equals(fruit)) {
            price = 2.70;
        }else if ("apple".equals(fruit)){
            price = 1.25 ;
        }else if ("orange".equals(fruit)){
            price = 0.90 ;
        }else if ("grapefruit".equals(fruit)){
            price = 1.60 ;
        }else if ("kiwi".equals(fruit)){
            price = 3.00 ;
        }else if ("pineapple".equals(fruit)) {
            price = 5.60 ;
        }else if ("grapes".equals(fruit)){
            price = 4.20 ;
        }
        }
        if (price > 0){
            System.out.printf("%.2f", price * quantity);
        }else {
            System.out.println("error");
        }
    }
}

0
ivanmitkoff avatar ivanmitkoff 3 Точки

Харесва ми решението ти със switch!

Малко ми е странен все още swtich-a, въпреки че конструкцията му е проста. smiley

Аз пък реших да се поупражня с boolean. 

Ето го моето работещо в Judge (100/100)  решение с boolean:

https://pastebin.com/7eKyGKMS

0
radoslav.venchev avatar radoslav.venchev 2 Точки

Ето го и моя вариант (100/100):

 

https://pastebin.com/M7wdbXfV

0
Georgik1 avatar Georgik1 2 Точки

Не съм сигурен защо ми дава само 23/100.Някой може ли да ми помогне с намирането на грешката?

Ето го моят код:

https://pastebin.com/DkvDAiLd

0
mark79 avatar mark79 639 Точки

Здравей,

объркал си реда на четене на променливите. Първо трябва да прочетеш плода, а след това деня. Имаш и една грешка в цената на ябълката в съботния ден.

Поздрави :)

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