Loading...

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

martyj avatar martyj 2 Точки

Programming Basics Java Exam

На задача 2 Wedding Party https://softuni.bg/downloads/svn/programming-basics/2018-09/Exam/2.%20Wedding%20Party.pdf, как да направя така, че ако бюджета не е достатъчен да ми даде грешка. Ето моя код до сега

package EXAM;

import java.util.Scanner;

public class WeddingParty {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        double guests = Double.parseDouble(scanner.nextLine());
        double budget = Double.parseDouble(scanner.nextLine());

        double remainingMoney = Math.abs(20 * guests - budget);
        double fireWorksPrice = 0.4 * remainingMoney;
        double donationMoney = remainingMoney - fireWorksPrice;

        System.out.printf("Yes! %.0f lv are for fireworks and %.0f lv are for donation", fireWorksPrice, donationMoney);




    }
}
0
Programming Basics 06/11/2018 23:04:25
VladimirMikov avatar VladimirMikov 28 Точки
Best Answer

Здравей, нямам никакъв опит на java, но мога да кажа, че си задал модул(абсолютна стойност) от разликата между бюджета и разходите. В такъв случай винаги резултата от модула е положително число. Смятам , че тази насока ще ти е от полза в оправянето на кода. Успех!

0
06/11/2018 22:25:42
martyj avatar martyj 2 Точки

Благодаря за отговора, но дори и да го оправя пак не мога да намеря начин да ми изписва отговор според зависимост от това какво е вкарано като стойност без да използвам if и else.

0
VladimirMikov avatar VladimirMikov 28 Точки

На c# аз бих използвал if else за постигане на резултата. За съжаление нямам 10 секунди опит на java и няма как да ти реша проблема. Бих могъл да ти пратя код на c# за тази задача за да видиш как виждам аз логиката за решаването на проблема. Но наистина не мога да дам корекции и съвети.

0
martyj avatar martyj 2 Точки

Ще съм ти благодарен.

0
zarcoff avatar zarcoff 13 Точки

Здравей!

Препоръчвам ти да използваш една if проверка за случая когато разходите надвишават бюджета. Кодът би изглеждал по следния начин:

package EXAM;

import java.util.Scanner;

public class WeddingParty {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        double guests = Double.parseDouble(scanner.nextLine());
        double budget = Double.parseDouble(scanner.nextLine());

        double remainingMoney = budget - 20 * guests;
        double fireWorksPrice = 0.4 * remainingMoney;
        double donationMoney = remainingMoney - fireWorksPrice;
        
        if (remainingMoney < 0){

             System.out.printf("They won't have enough money to pay the covert. They will need %.0f lv more.", Math.abs(remainingMoney));

        } else {

             System.out.printf("Yes! %.0f lv are for fireworks and %.0f lv are for donation.", fireWorksPrice, donationMoney);

        }



    }
}

Надявам се да ти е от полза.

0
martyj avatar martyj 2 Точки

Благодаря много за отговора. И аз мислех, че е с if и else, но просто не сме вземали още този материал и за това реших да попитам дали има друг начин.

1
lostinparadise avatar lostinparadise 19 Точки

Както са отговорили вече, изисква се употребата на if else.

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

Съответно задача 1 за прости операции и пресмятания, задача 2 за условни конструкции и т.н.

Успех с решаването!

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