Java基础实现自动贩卖机

通过JavaSE的选择、循环、方法的重写、有参构造等知识点模拟实现自动贩卖机的功能

User,用户操作端

import java.util.Scanner;

public class User {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        shopping shopping = new shopping();
        System.out.println("欢迎使用自动贩卖机");
        System.out.println("是否进行购物:1、是\t2、否");
        int select = sc.nextInt();
        if (select == 1){
            shopping.show(1);
            System.out.println("请选择相应序号");
            int choose = sc.nextInt();
            while (choose >= 5){
                if (choose == 5){
                    System.out.println("库存充足哟。。。");
                    System.out.println("请再次选择相应序号");
                }else {
                    System.out.println("没有此商品,请重新选择");
                }
                choose = sc.nextInt();
            }
            System.out.println("请输入购买数量");
            int num = sc.nextInt();
            while (true){
                shopping.shop(choose,num);
                System.out.println();
                shopping.show();
                System.out.println("如继续购物,请再次选择相应序号");
                choose = sc.nextInt();
                while (choose >= 6){
                    if (choose == 6){
                        shopping.shop(6);
                        System.out.println("请再次选择相应序号");
                    }else {
                        System.out.println("没有此商品,请重新选择");
                    }
                    choose = sc.nextInt();
                }
                if(choose == 5){
                    System.out.println("欢迎下次光临!");
                    break;
                }
                System.out.println("请输入购买数量");
                num = sc.nextInt();
            }
        }else {
            System.out.println("欢迎下次光临!");
        }
    }
}

shopping,数据处理

public class shopping {
    goods cola = new goods("可口可乐",3,10);
    goods noodles = new goods("红烧牛肉面",5.5,10);
    goods ham = new goods("火腿肠",2.5,10);
    goods spicy = new goods("卫龙",0.5,100);

    public void show(){
        System.out.println("现还有以下商品供您选择:");
        System.out.println("1、"+cola.goodsname+"\t价格:"+cola.price+"\t剩余:"+cola.number);
        System.out.println("2、"+noodles.goodsname+"\t价格:"+noodles.price+"\t剩余:"+noodles.number);
        System.out.println("3、"+ham.goodsname+"\t价格:"+ham.price+"\t剩余:"+ham.number);
        System.out.println("4、"+spicy.goodsname+"\t价格:"+spicy.price+"\t剩余:"+spicy.number);
        System.out.println("5、退出购物");
        System.out.println("6、一键补货");
    }

    public void show(int i){
        System.out.println("现还有以下商品供您选择:");
        System.out.println("1、"+cola.goodsname+"\t价格:"+cola.price+"\t剩余:"+cola.number);
        System.out.println("2、"+noodles.goodsname+"\t价格:"+noodles.price+"\t剩余:"+noodles.number);
        System.out.println("3、"+ham.goodsname+"\t价格:"+ham.price+"\t剩余:"+ham.number);
        System.out.println("4、"+spicy.goodsname+"\t价格:"+spicy.price+"\t剩余:"+spicy.number);
        System.out.println("5、一键补货");
    }

    public void shop(int choose,int num){
            switch (choose){
                case 1:
                    if(cola.number == 0){
                        System.out.println("已售罄,等待补货!");
                    }else if (num>cola.number){
                        System.out.println("库存不足,请重新选择");
                    }else {
                        cola.number = cola.number - num;
                        success();
                    }
                    break;
                case 2:
                    if(noodles.number == 0){
                        System.out.println("已售罄,等待补货!");
                    }else if (num>noodles.number){
                        System.out.println("库存不足,请重新选择");
                    }else {
                        noodles.number = noodles.number - num;
                        success();
                    }
                    break;
                case 3:
                    if(ham.number == 0){
                        System.out.println("已售罄,等待补货!");
                    }else if (num>ham.number){
                        System.out.println("库存不足,请重新选择");
                    }else {
                        ham.number = ham.number - num;
                        success();
                    }
                    break;
                case 4:
                    if(spicy.number == 0){
                        System.out.println("已售罄,等待补货!");
                    }else if (num>spicy.number){
                        System.out.println("库存不足,请重新选择");
                    }else {
                        spicy.number = spicy.number - num;
                        success();
                    }
                    break;
                case 5:
                    System.out.println("欢迎下次光临!");
                    break;
                case 6:
                    System.out.println("补货ing......");
                    this.cola.number = 10;
                    this.noodles.number = 10;
                    this.ham.number = 10;
                    this.spicy.number = 100;
                    break;
                default:
                    System.out.println("没有此商品,请重新选择");
                    break;
            }
    }

    public void shop(int choose){
        switch (choose){
            case 5:
                System.out.println("欢迎下次光临!");
                break;
            case 6:
                System.out.println("补货ing......");
                System.out.println("补货完毕");
                System.out.println();
                this.cola.number = 10;
                this.noodles.number = 10;
                this.ham.number = 10;
                this.spicy.number = 100;
                break;
            default:
                System.out.println("没有此商品,请重新选择");
                break;
        }
    }

    public void success(){
        System.out.println("扫码支付中。。。");
        System.out.println("正在处理。。。");
        System.out.println("购买成功!");
    }
}

goods,构造

public class goods {
    String goodsname;   //商品名
    double price;          //价格
    int number;         //剩余数量

    public goods() {
    }

    public goods(String goodsname, double price, int number) {
        this.goodsname = goodsname;
        this.price = price;
        this.number = number;
    }
}

效果如下:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值