Java循环直到添加元素

时间:2015-12-07 22:23:33

标签: java loops

我正在创建一个餐厅系统,我正在尝试在创建餐厅时添加表格。我可以使用if语句添加1个表但是我试图让它添加多个表,直到addTbl不等于Y.我尝试了不同类型的循环的变体,但它们都没有工作,我不断收到错误

如果有人能指出我正确的方向,那将非常感激。

addRestaurant方法:

public static List<Restaurant> addRestaurants(List<Restaurant> restaurants) {

    int newRestaurantId = Restaurant.getnumberOfRestaurants() + 1;
    String restaurantName= readString("Enter New Restaurant Name");
    String restaurantLocation= readString("Enter New Restaurant Locaition");

    char addTbl = readString("Add Table?: (Y/N)").toUpperCase().charAt(0);


    if (addTbl == 'Y') {

    int newTableId = Table.getNumberOfTables() +1;
    int seats = readInt("Enter Table Seats", 30, 1);
    Table rt = new Table(newRestaurantId, restaurantName, restaurantLocation, newTableId, seats);
     restaurants.add(rt);

    }
     else{

    Restaurant r = new Restaurant(newRestaurantId, restaurantName, restaurantLocation);
    restaurants.add(r);   
             }
    return restaurants;

}

如果您需要更多代码,请询问。 提前致谢!

1 个答案:

答案 0 :(得分:1)

我认为你想要做的就是使用do-while循环。

do {
    char addTbl = readString("Add Table?: (Y/N)").toUpperCase().charAt(0);
    if (addTbl == 'Y') {
        int newTableId = Table.getNumberOfTables() +1;
        int seats = readInt("Enter Table Seats", 30, 1);
        Table rt = new Table(newRestaurantId, restaurantName, restaurantLocation, newTableId, seats);
        restaurants.add(rt);
    }else{
        Restaurant r = new Restaurant(newRestaurantId, restaurantName, restaurantLocation);
        restaurants.add(r);   
    }
}while(addTble != 'N');

因此循环将继续,直到N为输入。或者更改它以适合您的需要(例如使用Q退出)。