Loading...
anisarambelieva avatar anisarambelieva 2 Точки

6. Трима братя - Programming Basics with Java

здравейте!
някой има ли идея защо не работи(маркираното поле, което не знам дали излиза маркирано, но говоря за:  Math.abs(Math.ceil(timeLeft)))?
не би ли трябвало Math.ceil да закръгля към по–голямото?
изходът вместо 

Cleaning time: 0.76

No, there isn't a surprise - shortage of time -> 1 hours.

е

Cleaning time: 0.76
No, there isn't a surprise - shortage of time -> 0.0 hours.


import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        double A = Double.parseDouble(scanner.nextLine());
        double B = Double.parseDouble(scanner.nextLine());
        double C = Double.parseDouble(scanner.nextLine());
        double D = Double.parseDouble(scanner.nextLine());

        double cleaningTime = 1 / (1/A + 1/B + 1/C);
        double restTime = cleaningTime * 0.15;
        double allTime = restTime + cleaningTime;
        double timeLeft = D - allTime;

        if (timeLeft > 0){
            System.out.printf("Cleaning time: %.2f",allTime);
            System.out.printf("%n");
            System.out.println("Yes, there is a surprise - time left -> " +
            Math.floor(timeLeft) + " hours.");
        }else {
            System.out.printf("Cleaning time: %.2f",allTime);
            System.out.printf("%n");
            System.out.println("No, there isn't a surprise - shortage of time -> " +
            Math.abs(Math.ceil(timeLeft)) + " hours.");
        }
    }
}
Тагове:
0
Programming Basics with Java 20/09/2018 11:14:56
dimaldim92 avatar dimaldim92 149 Точки

Хайде да дадеш условието и входовете? 

0
anisarambelieva avatar anisarambelieva 2 Точки

това е условието

  1. Трима братя

Трима братя решили да изненадат баща си, като почистят заедно гаража му. Големият брат чисти сам за определени часове - А. Средният брат чисти сам за В часа. По-малкият брат чисти сам за С часа. Бащата отива да лови риба и няма да го има D часа.

Напишете програма, която пресмята дали тримата братя могат да изчистят заедно гаража и да изненадат баща си или не.

Към общото време за почистване се добавят 15% за почивка.

Вход

Входът се чете от конзолата и се състои от 4 реда:

  1. Времето на първият брат за чистене сам - реално число в интервала [0.00 … 99.00]

  2. Времето на вторият брат за чистене сам - реално число в интервала [0.00 … 99.00]

  3. Времето на третият брат за чистене сам - реално число в интервала [0.00 …99.00]

  4. Времето за риболов на бащата - реално число в интервала [0.00 … 99.00]

Изход

На конзолата трябва да се отпечатат два реда.

  1. Времето за чистене и почивка, форматирано до втори знак: "Cleaning time: {Времето за чистене }"

  2. Има ли изненада или не:

  • Ако братята СА изненадали бащата (time left > 0): "Yes, there is a surprise - time left -> {остатък} hours." - резултата трябва да е закръглен към по-малко цяло число (пр. 1.90 -> 1).

  • Ако братята НЕ СА изненадали бащата: "No, there isn't a surprise - shortage of time -> {недостиг} hours." - резултата трябва да е закръглен към по-голямо цяло число (пр. 1.10 -> 2).


 

а това е входът: (поне за частта, която ме притеснява)

3.2

2.5

1.24

0.5

0
Ivan_G_Popov1 avatar Ivan_G_Popov1 21 Точки
 Math.ceil(timeLeft) при timeLeft= -0,6 ще закръгли към 0. Подозирам, че на теб ти трябва да принтираш 1. Ако е така  смени, вземи първо 
 Math.abs(-0,6) = 0,6 и тогава закръгли към 1. Дано да съм те разбрал верно.
1
20/09/2018 11:37:51
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.