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

Toy Shop JAVA

Линк към условието:
https://softuni.bg/trainings/resources/officedocument/35389/lab-problem-descriptions-programming-basics-with-java-october-2018/2155
Здравейте, това е решението на задачата. В judge ми дава 60/100 точки, но не мога да си намеря грешката.

import java.util.Scanner;
import java.util.ServiceConfigurationError;

public class Demo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double trip = Double.parseDouble(scanner.nextLine());
        int puzzle = Integer.parseInt(scanner.nextLine());
        int doll = Integer.parseInt(scanner.nextLine());
        int bears = Integer.parseInt(scanner.nextLine());
        int minions = Integer.parseInt(scanner.nextLine());
        int truck = Integer.parseInt(scanner.nextLine());
        double puzzlePrice = 2.60;
        int dollPrice = 3;
        double bearsPrice = 4.10;
        double minionsPrice = 8.20;
        int truckPrice = 2;
        double sum = puzzle * puzzlePrice + doll * dollPrice + bears * bearsPrice +
                minions * minionsPrice + truck * truckPrice; // сума
        int numberOfToys = puzzle + doll + bears + minions + truck;
        if (numberOfToys >= 50) {
            double discount = sum * 0.25;
            double sumMinusDiscount = sum - discount; // крайна цена
            double rent = 0.10 * sumMinusDiscount;
            double income = sumMinusDiscount - rent;
            if (income >= trip) {
                double spare = income - trip;
                System.out.printf("Yes! %.2f lv left.", spare);
            }


        }
        if (numberOfToys < 50) {
            double rentTwo = 0.10 * sum;
            double incomeTwo = sum - rentTwo;
            if (incomeTwo < trip) {
                double notEnough = trip - incomeTwo;
                System.out.printf("Not enough money! %.2f lv needed.", notEnough);
            }

        }


    }

}

Тагове:
0
Programming Basics
WestsideBG avatar WestsideBG 55 Точки

Постъпил си грешно. Проверката дали са повече от 50 трябва да е отделна и само 1. И тя е дали ще има отстъпка или не, а if-овете, които си сложил вътре в проверките трябва да се изкарат и да се направи на if-else и според тях да печатиш.

Пример:

  1.  double resultOtstupka=0;

  2.         double resultNaem=0;

  3.         if(resultSumaBroiIgrachki>=50){

  4.             resultOtstupka=resultSuma*0.25;

  5.             resultSuma=resultSuma-resultOtstupka;

  6.         }

  7.         resultNaem=resultSuma*0.10;       // този код се изпълнява независимо от резултата на проверката,

  8.         resultSuma=resultSuma-resultNaem;

  9.        

  10.         if (resultSuma >= cenaNaEkskurziqta) // това е проверката, която трябва да решава, какво да печата.

  11.         {

  12.             System.out.printf("Yes! %.2f lv left.",resultSuma - cenaNaEkskurziqta);

  13.         }

  14.         else

  15.         {

  16.             double resultNedostigat=cenaNaEkskurziqta-resultSuma;

  17.             System.out.printf("Not enough money! %.2f lv needed.",resultNedostigat);

  18.         }

0
pashunov151 avatar pashunov151 0 Точки

Като я стартирам програмата и въведа тези стойности 320 ; 8 ; 2 ; 5 ; 5 ; 1 ми изпечатва Not enough money! 320,00 lv needed.

Дори и да въведа произволни стойности винаги ми печати цената на екскурзията.

Това е твоят код:

  1. double resultOtstupka=0;
  2.         double resultNaem=0;
  3.         if(resultSumaBroiIgrachki>=50){
  4.             resultOtstupka=resultSuma*0.25;
  5.             resultSuma=resultSuma-resultOtstupka;
  6.         }
  7.         resultNaem=resultSuma*0.10;       // този код се изпълнява независимо от резултата на проверката,
  8.         resultSuma=resultSuma-resultNaem;
  9.        
  10.         if (resultSuma >= cenaNaEkskurziqta) // това е проверката, която трябва да решава, какво да печата.
  11.         {
  12.             System.out.printf("Yes! %.2f lv left.",resultSuma - cenaNaEkskurziqta);
  13.         }
  14.         else
  15.         {
  16.             double resultNedostigat=cenaNaEkskurziqta-resultSuma;
  17.             System.out.printf("Not enough money! %.2f lv needed.",resultNedostigat);
  18.         }

това е моят :

if (numberOfToys >= 50) {
    discount = sum * 0.25;
    sumMinusDiscount = sum - discount; // крайна цена
}
double rent = 0.10 * sumMinusDiscount;
double income = sumMinusDiscount - rent;
if (income >= trip) {
    System.out.printf("Yes! %.2f lv left.", income - trip);
} else {
    double notEnough = trip - income;
    System.out.printf("Not enough money! %.2f lv needed.", notEnough);
}
0
The_assassin avatar The_assassin 158 Точки

Здравей, аз не съм от Java курса, но „напаснах“ моя код към твоя и изглежда, че работи. Надявам се да ти даде някаква насока:

import java.util.Scanner;
import java.util.ServiceConfigurationError;

public class Demo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double trip = Double.parseDouble(scanner.nextLine());
        int puzzle = Integer.parseInt(scanner.nextLine());
        int doll = Integer.parseInt(scanner.nextLine());
        int bears = Integer.parseInt(scanner.nextLine());
        int minions = Integer.parseInt(scanner.nextLine());
        int truck = Integer.parseInt(scanner.nextLine());
        double puzzlePrice = 2.60;
        int dollPrice = 3;
        double bearsPrice = 4.10;
        double minionsPrice = 8.20;
        int truckPrice = 2;

        double sum = puzzle * puzzlePrice + doll * dollPrice + bears * bearsPrice + minions * minionsPrice + truck * truckPrice;

        int numberOfToys = puzzle + doll + bears + minions + truck;

        if (numberOfToys >= 50) {
            double discount = sum * 0.25;
            sum = sum - discount;
        }

        double rent = sum * 0.1;
        double income = sum - rent;

        if (income >= trip) {
            double spare = income - trip;
            System.out.printf("Yes! %.2f lv left.", spare);
            } else {
                double notEnough = trip - income;
            System.out.printf("Not enough money! %.2f lv needed.", notEnough);
        }
    }

}

 

0
pashunov151 avatar pashunov151 0 Точки

Да, благодаря. Видях къде греша.

0
AMarin1089 avatar AMarin1089 0 Точки

Здравейте, какво всъщност импортвате чрез "java.util.ServiceConfigurationError"? Judge ми прие кода и без него, нито IntelliJ ми казва, че имам нужда от него.

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