java - 需要在类中实现do、while循环

标签 java loops if-statement while-loop do-while

我正在尝试创建一个简单的循环,餐厅中有 20 张 table 。客户将能够选择从 1 到 20 的表。因此我为其创建了一个 if else 语句。但如果客户输入的号码超出范围,则会打印错误消息。问题是,如果用户输入错误,我希望它再次询问相同的问题,所以我尝试了 do while 循环。问题是,输出充满错误。谁能帮我解决这个问题吗?

public class MainRestaurant {

  public static void main(String[] args) {

    Scanner sc= new Scanner(System.in);
    System.out.println("Please choose your table from 1-20.");

    int table;
    int x = 1;

    table = sc.nextInt();

    do{
      if(table >0 && table <21){
        System.out.println("Table chosen: " + table);
        x=2;
      }
      else{
        System.out.println("Wrong choice");
      }
    }while(x==1);
  }

最佳答案

您应该将 sc.nextInt() 函数移至 do-while 循环中。

do{
    table = sc.nextInt();
    if(table >0 && table <21){
        System.out.println("Table chosen: " + table);
        x=2;
    }
    else{
        System.out.println("Wrong choice");
    }

} while(x==1);

关于java - 需要在类中实现do、while循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20326278/

相关文章:

java - 从命令行调用时使用处理 opengl 库缺少什么?

loops - for 循环的前导码的名称?

python - 如何将多个列表值作为函数参数传递?

php - 我如何使用 PHP 显示一个 html 页面或另一个?

javascript - 更短的嵌套 if 语句?

Java将读取的行分割成字符串然后使用它们

java - 为什么 DrawerLayout 和 ActionBar 不适用于平板电脑?

java - 主方法中无法访问二维数组值

java - 我正在使用推土机映射器。如果它是空的,我如何将我的默认值设置为字段?

PHP - 在数组中返回数组的值