我如何计算每个 table 的餐厅账单
how do i calculate a restaurant bill per table
这是我的代码:
订单Class
public class Order {
private int orderId;
private int tableId;
private int quantity;
private String name;
private int price;
}
构造函数
public Order(int o, int t, String name, int q, int price) {
orderId = o;
tableId = t;
this.name = name;
quantity = q;
this.price= price;
}
订单列表Class
public class OrderList {
private ArrayList<Order> orderList;
public OrderList() {
orderList = new ArrayList<Order>();
}
}
填充方法
Order o = new Order(15, 3, "Paan Kiwi", 1, 10.00);
Order o = new Order(16, 3, "Pasta", 3, 18.00);
如何编写一个方法来计算来自特定 table 的所有订单的总价?
请忽略错误的语法:)
创建一个遍历 orderList 并将每餐价格相加的方法(我假设您已经将订单添加到 orderList 的某个地方,并且每个 table 都有自己的 orderList):
public int calcPrice(int tableId, ArrayList<Order> orderList){
int sum = 0;
for(Order o : orderList)
if(o.tableId = tableId)
sum += o.price;
return sum;
}
希望对您有所帮助 ;)
编辑:目前您将价格存储在一个整数中,但您使用的是小数点。如果将 19.99 存储在 Int 中,则实际上存储的是 19。您要做的是将 "int" 更改为 "double"。同样适用于我的方法。
我假设您有指定字段的 getter 和 setter。即对于 price
字段,您应该在 Order
class 中有一个 getPrice()
方法。我还假设您想以编程方式为要为其计算账单的 table 指定 tableId
。
所以如果我理解正确的话:
public int calculateTableBill(int tableId, OrderList orderList) {
int billTotal = 0;
for (Order order : orderList.getOrderList()) {
if (order.getTableId() == tableId) {
billTotal += order.getPrice()
}
}
return billTotal ;
}
这将遍历您所有的订单,并汇总那些 tableId
与传递给该方法的订单相同的订单的价格。
希望对您有所帮助。如果我没有正确理解你,请发表评论,我会调整我的答案:)
这是我的代码:
订单Class
public class Order {
private int orderId;
private int tableId;
private int quantity;
private String name;
private int price;
}
构造函数
public Order(int o, int t, String name, int q, int price) {
orderId = o;
tableId = t;
this.name = name;
quantity = q;
this.price= price;
}
订单列表Class
public class OrderList {
private ArrayList<Order> orderList;
public OrderList() {
orderList = new ArrayList<Order>();
}
}
填充方法
Order o = new Order(15, 3, "Paan Kiwi", 1, 10.00);
Order o = new Order(16, 3, "Pasta", 3, 18.00);
如何编写一个方法来计算来自特定 table 的所有订单的总价?
请忽略错误的语法:)
创建一个遍历 orderList 并将每餐价格相加的方法(我假设您已经将订单添加到 orderList 的某个地方,并且每个 table 都有自己的 orderList):
public int calcPrice(int tableId, ArrayList<Order> orderList){
int sum = 0;
for(Order o : orderList)
if(o.tableId = tableId)
sum += o.price;
return sum;
}
希望对您有所帮助 ;)
编辑:目前您将价格存储在一个整数中,但您使用的是小数点。如果将 19.99 存储在 Int 中,则实际上存储的是 19。您要做的是将 "int" 更改为 "double"。同样适用于我的方法。
我假设您有指定字段的 getter 和 setter。即对于 price
字段,您应该在 Order
class 中有一个 getPrice()
方法。我还假设您想以编程方式为要为其计算账单的 table 指定 tableId
。
所以如果我理解正确的话:
public int calculateTableBill(int tableId, OrderList orderList) {
int billTotal = 0;
for (Order order : orderList.getOrderList()) {
if (order.getTableId() == tableId) {
billTotal += order.getPrice()
}
}
return billTotal ;
}
这将遍历您所有的订单,并汇总那些 tableId
与传递给该方法的订单相同的订单的价格。
希望对您有所帮助。如果我没有正确理解你,请发表评论,我会调整我的答案:)