永发信息网

求一个简易自动售货机的代码(java)要用创建类封装性,输出的时候要有提示语句,代码类似以下图片

答案:1  悬赏:30  手机版
解决时间 2021-02-03 14:05
  • 提问者网友:浪荡绅士
  • 2021-02-03 07:19
求一个简易自动售货机的代码(java)要用创建类封装性,输出的时候要有提示语句,代码类似以下图片
最佳答案
  • 五星知识达人网友:深街酒徒
  • 2021-02-03 07:28
//Example类文件Example.java
package cn.zhouhan;
import java.util.Scanner;
public class Example {

static Drink cola, fanta, blacktea, greentea;
static int money;

public static void main(String[] args) {
// TODO Auto-generated method stub
cola = new Drink("可乐", 50, 2.0, 1);
fanta = new Drink("芬达", 40, 3.0, 2);
blacktea = new Drink("红茶", 30, 4.0, 3);
greentea = new Drink("绿茶", 20, 5.0, 4);
money = 500;
for(;;)
{
System.out.println("-------------自动售货机-------------");
cola.UserPrintDrinkInfo();
fanta.UserPrintDrinkInfo();
blacktea.UserPrintDrinkInfo();
greentea.UserPrintDrinkInfo();
System.out.println("----------------------------------");
System.out.println("1.购买饮料");
System.out.println("2.管理员查询");
System.out.println("3.返回");
System.out.println("请输入要执行的操作序号:");
Scanner scannerIndex = new Scanner(System.in);
int indexScanner = scannerIndex.nextInt();
switch(indexScanner)
{
case 1:
System.out.println("请选择购买的饮料(1.可乐,2.芬达,3红茶,4.绿茶):");
Scanner numberScanner = new Scanner(System.in);
int buyIndex = numberScanner.nextInt();

Drink drink = getDrink(buyIndex);

System.out.println("请输入购买的数量:");
Scanner countScanner = new Scanner(System.in);
int buyCount = countScanner.nextInt();
if (buyCount > 0)
{
System.out.println("您选择了" + buyCount + "瓶" + drink.getName() + "." );
System.out.println("总价格:" + drink.getPrice() * buyCount + "元,请投入1元或5元纸币。");
System.out.println("确定购买?(1.确定,2.退款):");
Scanner sureScanner = new Scanner(System.in);
int sure = sureScanner.nextInt();
if (sure == 1)
{
drink.sellDrink(buyCount);
money += drink.getPrice() * buyCount;
System.out.println("您购买了" + buyCount + "瓶" + drink.getName() + ",交易成功." );
}
if (sure ==2 )
{
System.out.println("退款成功!");
}
}
else
System.out.println("输入的数量有误!");
break;
case 2:
System.out.println("请输入管理员密码:");
Scanner pwScanner = new Scanner(System.in);
int password = pwScanner.nextInt();
if (password == 123)
{
System.out.println("密码正确,目前的余额为:" + money + "元。");
}
else
System.out.println("密码错误。");
break;
case 3:
break;
default:
System.out.println("请输入正确的数字。");
break;
}
}

}
public static Drink getDrink(int drinkIndex)
{
Drink drink = null;

switch(drinkIndex)
{
case 1:
drink = cola;
System.out.println("您选择了可乐。");
break;
case 2:
drink = fanta;
System.out.println("您选择了芬达。"); 
break;
case 3:
drink = blacktea;
System.out.println("您选择了红茶。");
break;
case 4:
drink = greentea;
System.out.println("您选择了绿茶。");
break;
default:
//drink = null;
System.out.println("输入错误,请输入1~4的数字!");
}
return drink;
}
}


//创建的Drink类文件Drink.java
package cn.zhouhan;
public class Drink {
private String name;
private int number;
private double price;
private double drinkMoney;
private int index;

public Drink(String name, int number, double price, int index)
{
this.name = name;
this.number = number;
this.price = price;
this.drinkMoney = number * price;
this.index = index;
}

public String getName()
{
return this.name;
}

public int getNumber()
{
return this.number;
}

public double getPrice()
{
return this.price;
}

public void sellDrink(int count)
{
this.number -= count;
this.drinkMoney += this.price * count;
}

public void UserPrintDrinkInfo()
{
System.out.println("品名:"+ this.name +",单价:" + this.price + "元,剩余数量:" + this.number + "瓶。");
}

}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯