Помогите понять,написать алгоритм программы

Всем добрый день, начал только изучать Java, нашел сайт на котором постепенно пишешь свой первый проект, но столкнулся с проблемой на 3 этапе из 6.

Условие программы:Если в кофемашине достаточно расходных материалов для приготовления указанного количества кофе, программа должна напечатать «Да, я могу приготовить такое количество кофе». Если кофемашина может приготовить больше, программа должна вывести «Да, я могу приготовить такое количество кофе (и даже N больше)», где N - количество дополнительных чашек кофе, которые может приготовить кофемашина. . Если ресурсов недостаточно для приготовления указанного количества кофе, программа должна вывести «Нет, я могу приготовить только N чашек кофе». Как и на предыдущем этапе, кофемашине требуется 200 мл воды, 50 мл молока и 15 г кофейных зерен для приготовления одной чашки кофе.

package machine;
import java.util.Scanner;

public class CoffeeMachine {
    public static void main(String[] args) {
                            /*Scanner*/
        Scanner s = new Scanner(System.in);
        System.out.println("Write how many ml of water the coffee machine has:");
        var water = s.nextInt();
        System.out.println("Write how many ml of milk the coffee machine has:");
        var milk = s.nextInt();
        System.out.println("Write how many grams of coffee beans the coffee machine has:");
        var coffeeBeans = s.nextInt();
        System.out.println("Write how many cups of coffee you will need: ");
        var valueOfCups = s.nextInt();
                            //for 1 cup
        var oneCupWater=200;
        var oneCupMilk=50;
        var oneCupCoffeeBeans=15;
                            /*Possible for All*/
        var possibleWater = water/oneCupWater;
        var possibleMilk = milk/oneCupMilk;
        var possibleCoffeeBeans= coffeeBeans/oneCupCoffeeBeans;
                            /*Minimum*/
        var min = Math.min(Math.min(possibleWater,possibleMilk),possibleCoffeeBeans);
                            /*Instruction IF ELSE-IF IF*/
        if (min<valueOfCups)System.out.println("Yes, I can make that amount of coffee (and even "+(min-valueOfCups)+" more than that)");
        else if(min==valueOfCups)System.out.println("Yes, I can make that amount of coffee");
        else System.out.println("No, I can make only "+(min) +" cups of coffee");

    }
}

Вот что смог написать, подскажите что не так в алгоритме с if, просто на словах, код не нужен,хочу сам до него дойти.

Wrong answer in test #2

Your output:
No, I can make only 2 cups of coffee
Right output:
Yes, I can make that amount of coffee (and even 2 more than that)

Please find below the output of your program during this failed test.
Note that the '>' character indicates the beginning of the input line.

---

Write how many ml of water the coffee machine has:
> 600
Write how many ml of milk the coffee machine has:
> 153
Write how many grams of coffee beans the coffee machine has:
> 100
Write how many cups of coffee you will need: 
> 1
No, I can make only 2 cups of coffee 


Ответы (1 шт):

Автор решения: Aziz Umarov

Все просто поменяйте знак if (min > valueOfCups). Вы говорите что у вас min чашек кофе получится. И если min больше чем чашек нужно, т.е valueOfCups тогда ....

package machine;
import java.util.Scanner;

public class CoffeeMachine {
    public static void main(String[] args) {
                            /*Scanner*/
        Scanner s = new Scanner(System.in);
        System.out.println("Write how many ml of water the coffee machine has:");
        var water = s.nextInt();
        System.out.println("Write how many ml of milk the coffee machine has:");
        var milk = s.nextInt();
        System.out.println("Write how many grams of coffee beans the coffee machine has:");
        var coffeeBeans = s.nextInt();
        System.out.println("Write how many cups of coffee you will need: ");
        var valueOfCups = s.nextInt();
                            //for 1 cup
        var oneCupWater=200;
        var oneCupMilk=50;
        var oneCupCoffeeBeans=15;
                            /*Possible for All*/
        var possibleWater = water/oneCupWater;
        var possibleMilk = milk/oneCupMilk;
        var possibleCoffeeBeans= coffeeBeans/oneCupCoffeeBeans;
                            /*Minimum*/
        var min = Math.min(Math.min(possibleWater,possibleMilk),possibleCoffeeBeans);
                            /*Instruction IF ELSE-IF IF*/
        if (min>valueOfCups)System.out.println("Yes, I can make that amount of coffee (and even "+(min-valueOfCups)+" more than that)");
        else if(min==valueOfCups)System.out.println("Yes, I can make that amount of coffee");
        else System.out.println("No, I can make only "+(min) +" cups of coffee");

    }
}
→ Ссылка