我正在创建一个餐厅系统,我正在尝试在创建餐厅时添加表格。我可以使用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;
}
如果您需要更多代码,请询问。 提前致谢!
答案 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
退出)。