为了更好地理解类与对象之间的关系,这里构建了一个VendingMachine类,其中包含price,total,balance三个属性,以及Welcome(),showBalance(),Money(),getFood()四种方法,分别实现自动售卖机初始界面的显示,投入金额的显示,钱币的投入以及食物的取出;
最后只需在主函数中创建该类的具体对象vm,并利用相应方法,就能实现一个简易的自动售卖机最基础的功能。
相关代码如下:
package VendingMachine;
import java.util.Scanner;
public class VendingMachine {
int price = 20; //价格
int total; //收的总额
int balance; //投入的钱
Scanner in = new Scanner(System.in);
void Welcome() //开始界面
{
System.out.println("Welcome!\n20 for a time");
}
void showBalance()
{
System.out.println("目前投入了"+balance+"元");
}
void Money()
{
int account;
System.out.print("请投币:");
account = in.nextInt();
balance += account;
}
void getFood()
{
if(balance >= price)
{
System.out.println("Here you are.");
balance -= price;
total += price;
showBalance();
}
else
{
System.out.println("NOT ENOUGH");
}
}
public static void main(String[] args) {
VendingMachine vm = new VendingMachine();
vm.Welcome();
vm.showBalance();
vm.Money();
vm.getFood();
}
}
效果如下:
输入前:
输入后:
错误测试: