java面向对象自动贩卖机程序
时间: 2023-12-17 08:05:36 浏览: 144
好的,下面是一个简单的Java面向对象自动贩卖机程序的实现。
首先,我们需要定义一个VendingMachine类,它包含以下属性:
- drinks:一个Drink类型的数组,表示自动贩卖机中的饮料种类。
- balance:一个double类型的变量,表示用户当前的余额。
VendingMachine类还应该包含以下方法:
- VendingMachine(Drink[] drinks):构造方法,用于初始化自动贩卖机中的饮料种类。
- showDrinks():展示自动贩卖机中的饮料种类和价格。
- insertCoin(double coin):投入硬币,更新用户当前的余额。
- buy(int index):购买指定饮料种类,如果用户的余额不足,则提示用户需要继续投币。
下面是VendingMachine类的代码实现:
```java
public class VendingMachine {
private Drink[] drinks;
private double balance;
public VendingMachine(Drink[] drinks) {
this.drinks = drinks;
this.balance = 0;
}
public void showDrinks() {
System.out.println("饮料种类\t价格");
for (int i = 0; i < drinks.length; i++) {
System.out.println((i + 1) + ". " + drinks[i].getName() + "\t" + drinks[i].getPrice());
}
}
public void insertCoin(double coin) {
this.balance += coin;
System.out.println("当前余额:" + this.balance);
}
public void buy(int index) {
Drink drink = drinks[index - 1];
if (balance >= drink.getPrice()) {
System.out.println("购买成功," + drink.getName() + ",找零:" + (balance - drink.getPrice()));
balance -= drink.getPrice();
} else {
System.out.println("余额不足,请继续投币");
}
}
}
```
接下来,我们需要定义一个Drink类,它包含以下属性:
- name:一个String类型的变量,表示饮料名称。
- price:一个double类型的变量,表示饮料价格。
下面是Drink类的代码实现:
```java
public class Drink {
private String name;
private double price;
public Drink(String name, double price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
}
```
最后,我们可以在main方法中创建一个VendingMachine对象,并调用它的方法来实现自动贩卖机的功能。下面是一个简单的示例代码:
```java
public static void main(String[] args) {
Drink[] drinks = {new Drink("可乐", 3.0), new Drink("雪碧", 2.5), new Drink("矿泉水", 1.5)};
VendingMachine machine = new VendingMachine(drinks);
machine.showDrinks();
machine.insertCoin(2.0);
machine.buy(1);
}
```
输出结果:
```
饮料种类 价格
1. 可乐 3.0
2. 雪碧 2.5
3. 矿泉水 1.5
当前余额:2.0
购买成功,可乐,找零:1.0
```
以上就是一个简单的Java面向对象自动贩卖机程序的实现。
阅读全文