Java面向对象点菜完整代码不使用 java.util.ArrayList
时间: 2024-02-22 08:58:08 浏览: 26
下面是一个不使用 `java.util.ArrayList` 的Java面向对象点菜完整代码的示例:
```java
public class MenuItem {
private String name;
private double price;
public MenuItem(String name, double price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
}
public class Order {
private MenuItem[] items;
private int count;
public Order() {
items = new MenuItem[10];
count = 0;
}
public void addItem(MenuItem item) {
items[count] = item;
count++;
}
public double getTotal() {
double total = 0;
for (int i = 0; i < count; i++) {
total += items[i].getPrice();
}
return total;
}
public void printReceipt() {
System.out.println("Receipt:");
for (int i = 0; i < count; i++) {
System.out.println(items[i].getName() + " - $" + items[i].getPrice());
}
System.out.println("Total - $" + getTotal());
}
}
public class Main {
public static void main(String[] args) {
MenuItem burger = new MenuItem("Burger", 9.99);
MenuItem fries = new MenuItem("Fries", 4.99);
MenuItem soda = new MenuItem("Soda", 1.99);
Order order = new Order();
order.addItem(burger);
order.addItem(fries);
order.addItem(soda);
order.printReceipt();
}
}
```
在这个示例中,`MenuItem` 类与之前相同,但是 `Order` 类不再使用 `java.util.ArrayList`。相反,`items` 变量是一个 `MenuItem` 数组,并且 `count` 变量用于跟踪菜单项的数量。`addItem` 方法将菜单项添加到数组中,并将 `count` 增加。在计算总价和打印收据时,只需要访问数组中的前 `count` 个元素。`Main` 类与之前相同。
这个示例演示了如何在不使用 `java.util.ArrayList` 的情况下实现相同的功能,但是使用 `java.util.ArrayList` 可以更方便地添加和删除菜单项,并且可以自动调整数组大小以适应变化的菜单项数量。