为了账号安全,请及时绑定邮箱和手机立即绑定

当 Do/While 完成时,Java 输入停止工作

当 Do/While 完成时,Java 输入停止工作

慕森卡 2021-10-13 15:59:25
我正在尝试创建一个运行循环,用户可以在其中输入进入/离开牡蛎条的牡蛎,直到容量达到 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);    }}任何输入将不胜感激,谢谢!
查看完整描述

2 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

假设你想永远循环,你需要检查容量不足和过剩


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);


查看完整回答
反对 回复 2021-10-13
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

我建议你:-
1)运行另一个 do while 循环,它接受负输入。2)如果你想在牡蛎不再可用的情况下重新运行程序并使用“break”,请将两个循环置于无限循环中;从无限循环中出来。 希望这可以帮助


查看完整回答
反对 回复 2021-10-13
  • 2 回答
  • 0 关注
  • 206 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信