柜台系统管理(1.1)

通过我们对柜台中商品的操作我们需要编写一些功能方便管理柜台中的商品
上次只是展示了一下柜台中方的商品
这次新增了一些功能

  •  菜单系统
  •  展示商品
  • 上架商品
  • 下架商品
  • 调整价格
  • 退出系统

一、创建物品类

封装属性、提供get和set方法、创建有参无参构造器、重写toString()方法

package zuoye.d0708;

public class Goods {
    private Integer id;// 商品编号
    private String goodsName; //商品名称
    private double price; //商品价格
    private String desc; //商品描述

    @Override
    public String toString() {
        return "Goods{" +
                "id=" + id +
                ", goodsName='" + goodsName + '\'' +
                ", price=" + price +
                ", desc='" + desc + '\'' +
                '}';
    }

    public Goods(Integer id, String goodsName, double price, String desc) {
        this.id = id;
        this.goodsName = goodsName;
        this.price = price;
        this.desc = desc;
    }

    public Goods() {
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
}

二、创建Counter类

所有的需求功能都在Counter类中编写

package zuoye.d0708;

import counterPro.InputUils;

import java.util.Scanner;

/**
 *1.0版本
 *
 */
public class Counter {
    private Integer num;
    Goods[] goodses=new Goods[10];
    Scanner scanner = new Scanner(System.in);
    //初始化2个商品
    public Counter() {
        this.goodses[0]=new Goods(1001,"巧克力",25,"美味可口,恋爱必备!");
        this.goodses[1]=new Goods(1002,"卫龙辣条",1,"隔壁小孩馋哭了!");
        num=2;
    }
    //展示柜台所有的商品
    public void show(){
        /**
         * 显示goodses数组中不为null的元素(商品放在goodses数组中)
         */
        for (int i = 0; i < goodses.length; i++) {
            System.out.println(goodses[i]);
        }
    }

    //菜单方法(柜台功能)
    public void main(){
        while (true){
            System.out.println("*************柜台商品系统管理***************");
            System.out.println("----------1.展示商品 2.上架商品 ------------");
            System.out.println("----------3.下架商品 4.调整价格 ------------");
            System.out.println("************  0.退出系统 ******************");

            System.out.println("-->请输入功能序号");
            int key = InputUils.getNum();
            switch (key){
                case 1:show();break;
                case 2:add();break;
                case 3:delete();break;
                case 4:update();break;
                case 0:System.exit(0);
            }
        }
    }
    /**
     * 调整价格
     *
     */
    private void update() {
        //寻找修改价格商品的ID
        System.out.println("-->请输入要修改商品价格的编号:");
        int goodsId = scanner.nextInt();
        for (int i = 0; i < goodses.length; i++) {
            if(goodses[i]!=null && goodses[i].getId()==goodsId){
                System.out.println("请输入修改的价格");
                goodses[i].setPrice(new Scanner(System.in).nextDouble());
                System.out.println("修改价格成功!!");
                return;
            }
        }
        System.out.println("警告!!未找到商品...");
        update();
    }
    /**
     * 下架商品
     */
    private void delete() {
        System.out.println("-->请输入要下架商品的编号:");
        int goodsId = scanner.nextInt();
        //第一件事 找到这个对应商品ID的商品对象
        for (int i = 0; i < goodses.length; i++) {
            //查找对应的商品
            if(this.goodses[i]!=null && this.goodses[i].getId()==goodsId){
                //找到后赋值为null
                this.goodses[i]=null;
                //商品数量减一
                this.num--;
                System.out.println("-->提示:下架成功!!当前商品数量"+this.num);
                //还需不需要继续循环
                return;//结束循环
            }
        }
        System.out.println("-->警告!!未找到商品...");
        delete();
    }

    /**
     * 上架商品
     */
    private void add() {
        System.out.println("-->请输入商品编号");
        int goodsId = scanner.nextInt();
        //丰富:id不能重复
        for (int i = 0; i < this.goodses.length; i++) {
            if(this.goodses[i]!=null && this.goodses[i].getId()==goodsId){
                System.out.println("-->警告:当前编号已存在!!请重新输入");
                add();
                return;
            }
        }

        //程序到此 说明id没有重复
        System.out.println("-->提示:商品id可以使用!!");

        System.out.println("-->请输入商品名称");
        String name = new Scanner(System.in).next();

        System.out.println("-->请输入商品价格");
        double price = InputUils.getPrice();

        System.out.println("-->请输入商品描述");
        String desc = new Scanner(System.in).next();

        //把输入的信息
        Goods newGoods = new Goods(goodsId,name,price,desc);

        for (int i = 0; i < goodses.length; i++) {
            if(goodses[i]==null){
                goodses[i]=newGoods;
                //商品加一
                this.num++;
                System.out.println("商品ID为"+goodsId+"\n"+"上架成功!!当前商品数量"+this.num);
                break;
            }
        }

    }
}

测试类:CounterTest
   程序入口main方法中,创建柜台对象,调用Counter类中的main方法进入管理系统

package counterPro;

public class CounterTest {
    public static void main(String[] args) {
        //new 柜台类
        Counter counter=new Counter();
        //调用柜台类 show方法
        //counter.show();
        counter.main();
    }
}

1.展示商品效果

 *************柜台商品系统管理***************
----------1.展示商品 2.上架商品 ------------
----------3.下架商品 4.调整价格 ------------
************  0.退出系统 ******************
-->请输入功能序号
1
Goods{id=1001, goodsName='巧克力', price=25.0, desc='美味可口,恋爱必备!'}
Goods{id=1002, goodsName='卫龙辣条', price=1.0, desc='隔壁小孩馋哭了!'}
Goods{id=5, goodsName='5', price=5.0, desc='5'}
null
null
null
null
null
null
null

2.上架商品效果

*************柜台商品系统管理***************
----------1.展示商品 2.上架商品 ------------
----------3.下架商品 4.调整价格 ------------
************  0.退出系统 ******************
-->请输入功能序号
2
-->请输入商品编号
11
-->提示:商品id可以使用!!
-->请输入商品名称
1
-->请输入商品价格
1
-->请输入商品描述
1
商品ID为11
上架成功!!当前商品数量4

*************柜台商品系统管理***************
----------1.展示商品 2.上架商品 ------------
----------3.下架商品 4.调整价格 ------------
************  0.退出系统 ******************
-->请输入功能序号
1
Goods{id=1001, goodsName='巧克力', price=25.0, desc='美味可口,恋爱必备!'}
Goods{id=1002, goodsName='卫龙辣条', price=1.0, desc='隔壁小孩馋哭了!'}

Goods{id=11, goodsName='1', price=1.0, desc='1'}

null
null
null
null
null
null
null

 3.下架商品效果

*************柜台商品系统管理***************
----------1.展示商品 2.上架商品 ------------
----------3.下架商品 4.调整价格 ------------
************  0.退出系统 ******************
-->请输入功能序号
3
-->请输入要下架商品的编号:
11
-->提示:下架成功!!当前商品数量3
*************柜台商品系统管理***************
----------1.展示商品 2.上架商品 ------------
----------3.下架商品 4.调整价格 ------------
************  0.退出系统 ******************
-->请输入功能序号
1
Goods{id=1001, goodsName='巧克力', price=25.0, desc='美味可口,恋爱必备!'}
Goods{id=1002, goodsName='卫龙辣条', price=1.0, desc='隔壁小孩馋哭了!'}

null
null
null
null
null
null
null

null

4.调整价格效果

 *************柜台商品系统管理***************
----------1.展示商品 2.上架商品 ------------
----------3.下架商品 4.调整价格 ------------
************  0.退出系统 ******************
-->请输入功能序号
4
-->请输入要修改商品价格的编号:
1001
请输入修改的价格
1000
修改价格成功!!
*************柜台商品系统管理***************
----------1.展示商品 2.上架商品 ------------
----------3.下架商品 4.调整价格 ------------
************  0.退出系统 ******************
-->请输入功能序号
1
Goods{id=1001, goodsName='巧克力', price=1000.0, desc='美味可口,恋爱必备!'}
Goods{id=1002, goodsName='卫龙辣条', price=1.0, desc='隔壁小孩馋哭了!'}
null
null
null
null
null
null
null
null

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LXY1013

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值