Я пытаюсь создать рабочий цикл, в котором пользователь может вводить устрицы, входящие / выходящие из устричного бара, пока емкость не будет достигнута на уровне 500.
Когда емкость достигает 500, я хотел бы, чтобы пользователь по-прежнему мог вводить отрицательные числа (потому что посетители все еще могут уходить), но не вводил никаких положительных чисел. К сожалению, я просто не могу ничего ввести, если это условие выполнено.
Scanner input = new Scanner(System.in);
int maxCapacity = 500;
int oystersIn = 0;
int oystersOut;
int currentCapacity = 0;
System.out.println("Welcome to the Half Shell Dive Bar, Capacity is 500, and there are currently "+ currentCapacity + " oysters in the bar" );
currentCapacity = 0;
do {
oystersIn=0;
System.out.println("How many oysters are coming in?");
oystersIn = input.nextInt();
currentCapacity += oystersIn;
System.out.println("Now there are " + currentCapacity + " oysters in the bar");
}
while (oystersIn + currentCapacity <= 500);
}
}
любой вклад будет очень признателен, спасибо!




Предполагая, что вы хотите зацикливаться вечно, вам нужно проверить недостаточную и избыточную емкость
do {
oystersIn=0;
System.out.println("How many oysters are coming in?");
oystersIn = input.nextInt();
if (oystersIn + currentCapacity >= 500) {
System.out.println("Sorry full - waiting for some one to leave");
continue;
}
if (oystersIn + currentCapacity < 0) {
System.out.println("Can't go negative");
continue;
}
currentCapacity += oystersIn;
System.out.println("Now there are " + currentCapacity + " oysters in the bar");
}
while (true);
Я бы посоветовал вам: -
1) запустите еще один цикл do while, который принимает отрицательный ввод.
2) Поместите оба цикла в бесконечный цикл, если вы хотите повторно запустить программу, если устрицы больше не доступны и
используйте «перерыв»; выйти из бесконечного цикла.
надеюсь это поможет