首页后端开发JAVA自动售货机代码java循环选择 编写自动售货机程序

自动售货机代码java循环选择 编写自动售货机程序

时间2023-04-21 13:15:01发布访客分类JAVA浏览1007
导读:求一个简易自动售货机的代码(java)要用创建类封装性,输出的时候要有提示语句,代码类似以下图片 //Example类文件Example.javapackage cn.zhouhan;import java.util.Scanner;pub...

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

//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 + "瓶。");

}

}

java简单工厂模式是什么

就是专门写一个类,他有一个方法根据传入的参数不同,返回不同的对象。

比如有一台自动售货机AutoSeller, 然后它卖很多饮料Drink, 有茶Tea, 有可乐Cola, 当你去买的时候,你可能是通过按不同的按钮,但对AutoSeller的实现来说,他可能都是同样的方法,只是根据不同的参数(按钮),返回给你不同的对象(Tea或Cola)。

public interface Drink {

enum Type { TEA, COLA} ;

}

public Tea implements Drink {

}

public Cola implements Drink {

}

public class AutoSeller { //工厂

public static Drink getDrink(Drink.Type type) {

switch(type) {

case TEA:

return new Tea();

case COLA:

return new Cola();

default:break;

}

}

}

如上, 在你选择饮料按下按钮里, 自动售货机的代码可能只要执行AutoSeller.getDrink(type)就可以返回你想要的饮料了。

之所以要把Drink定义成接口,一般来讲,用这种架构的话, Drink里面会声明一些接口方法, 这些方法是Tea和Cola都需要的, 但Drink不用关心方法的具体实现, 具体实现只要由Tea和Cola去完成。

而你通过AutoSeller.getDrink(type)去拿到一个Drink对象后,可以用这个对象直接去调Drink中声明的方法。

急求简易自动售货机(java编程)

package com.test;

import java.util.Scanner;

import com.sun.java_cup.internal.internal_error;

public class Demo {

/**

* @param args

*/

public static void main(String[] args) {

Scanner s=new Scanner(System.in);

int c;

int gum=0,cho=0,pop=0,jui=0;

do{

Demo.play_bord();

c=s.nextInt();

if(c0||c6){

System.out.println("1-6 only ,input a new choice");

c=s.nextInt();

}

switch(c){

case 1:

System.out.println("here is your gum");

gum++;

break;

case 2:

System.out.println("here is your chocolate");

cho++;

break;

case 3:

System.out.println("here is your popcorn");

pop++;

break;

case 4:

System.out.println("here is your juice");

jui++;

break;

case 5:

System.out.println(gum+" gum are sold");

System.out.println(cho+" chocolate are sold");

System.out.println(pop+" popcorn are sold");

System.out.println(gum+" juice are sold");

break;

case 6:

System.out.println("system exit");

}

} while(c!=6);

}

public static void play_bord(){

System.out.println("****这是简易售货机,请按下数字选择服务*****");

System.out.println("[1]:get gum");

System.out.println("[2]:get chocolate");

System.out.println("[3]:get popcorn");

System.out.println("[4]:get juice");

System.out.println("[5]:dispaly totalsold");

System.out.println("[6]:quit");

System.out.println("***************************");

}

}

刚好以前写了个 改完给你了

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 自动售货机代码java循环选择 编写自动售货机程序
本文地址: https://pptw.com/jishu/4473.html
java进程同步代码 java中的同步 java发送短信电话代码 java发送短信电话代码是什么

游客 回复需填写必要信息