我正在尝试创建一个运行循环,用户可以在其中输入进入/离开oyster bar的oyster,直到达到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);
}
}
任何意见都将不胜感激,谢谢!
发布于 2018-09-27 08:50:48
假设您想要永远循环,则需要检查容量是否不足和过大
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);
https://stackoverflow.com/questions/52527860
复制相似问题