商品信息管理

1.初步设计 

package co.hp.lx;

public class Lxgoods {
    //商品属性,私有,相对安全
    private int id;
    private String goodsName;
    private double price;
    private String desc;
    //提供get set方法,来调用被private修饰的属性
    public int getId() {
        return id;
    }

    public void setId(int 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;
    }
    //无参构造 有参构造器,调用构造器来初始化商品对象
    public Lxgoods() {
    }

    public Lxgoods(int id, String goodsName, double price, String desc) {
        this.id = id;
        this.goodsName = goodsName;
        this.price = price;
        this.desc = desc;
    }
    //重写tostring方法,可以直接显示数据
    @Override
    public String toString() {
        return "Lxgoods{" +
                "id=" + id +
                ", goodsName='" + goodsName + '\'' +
                ", price=" + price +
                ", desc='" + desc + '\'' +
                '}';
    }
}
package co.hp.lx;

import java.util.Scanner;

public class CounterLx {
    //柜台商品列表,固定10个商品位置
    private Lxgoods[] lxgoods = new Lxgoods[10];
    private int num;
    //无参构造器初始化2个商品
    public CounterLx() {
        this.lxgoods[0] = new Lxgoods(1001,"巧克力",25,"美味可口,恋爱必备!");
        this.lxgoods[1] = new Lxgoods(1002,"卫龙辣条",1,"隔壁小孩馋哭了!");
        num = 2;
    }
    //展示柜台所有的商品(不能输出null)
    private void show(){
        System.out.println("-->商品货架信息");
        for (int i = 0; i < this.lxgoods.length; i++) {
            if (this.lxgoods[i] != null){
                System.out.println(this.lxgoods[i]);
            }
        }
    }
    //修改商品价格
    private void updata() {
        System.out.println("updata");
    }
    //上架商品
    private void add() {
        System.out.println("add");
    }
    //下架商品
    private void delete() {
        System.out.println("delete");
    }
    public void main(){
        while (true){
            System.out.println("-->欢迎使用商品管理系统");
            System.out.println("-->输入1显示所有商品信息");
            System.out.println("-->输入2下架商品");
            System.out.println("-->输入3上架商品");
            System.out.println("-->输入4修改商品价格");
            System.out.println("-->输入0退出商品货架");
            System.out.println("-->请输入热键:");
            int i = new Scanner(System.in).nextInt();
            switch (i){
                case 1:show();
                    break;
                case 2:delete();
                    break;
                case 3:add();
                    break;
                case 4:updata();
                    break;
                case 0:System.exit(0);//退出jvm
            }
        }
    }
}

初步运行结果

-->欢迎使用商品管理系统
-->输入1显示所有商品信息
-->输入2下架商品
-->输入3上架商品
-->输入4修改商品价格
-->输入0退出商品货架
-->请输入热键:
1
-->商品货架信息
Lxgoods{id=1001, goodsName='巧克力', price=25.0, desc='美味可口,恋爱必备!'}
Lxgoods{id=1002, goodsName='卫龙辣条', price=1.0, desc='隔壁小孩馋哭了!'}
-->欢迎使用商品管理系统
-->输入1显示所有商品信息
-->输入2下架商品
-->输入3上架商品
-->输入4修改商品价格
-->输入0退出商品货架
-->请输入热键:
2
delete
-->欢迎使用商品管理系统
-->输入1显示所有商品信息
-->输入2下架商品
-->输入3上架商品
-->输入4修改商品价格
-->输入0退出商品货架
-->请输入热键:
3
add
-->欢迎使用商品管理系统
-->输入1显示所有商品信息
-->输入2下架商品
-->输入3上架商品
-->输入4修改商品价格
-->输入0退出商品货架
-->请输入热键:
4
updata
-->欢迎使用商品管理系统
-->输入1显示所有商品信息
-->输入2下架商品
-->输入3上架商品
-->输入4修改商品价格
-->输入0退出商品货架
-->请输入热键:
0

2.健壮性调整

显示所有商品信息

//展示柜台所有的商品(不能输出null)
    private void show(){
        //因为要考虑没有商品的时候
        if (this.num == 0){
            System.out.println("货架上没有商品了");
        }
        System.out.println("-->商品货架信息");
        for (int i = 0; i < this.lxgoods.length; i++) {
            if (this.lxgoods[i] != null){
                System.out.println(this.lxgoods[i]);
            }
        }
        System.out.println("货架目前商品数量"+num);
    }

运行结果

-->欢迎使用商品管理系统
-->输入1显示所有商品信息
-->输入2下架商品
-->输入3上架商品
-->输入4修改商品价格
-->输入0退出商品货架
-->请输入热键:
1
-->商品货架信息
Lxgoods{id=1001, goodsName='巧克力', price=25.0, desc='美味可口,恋爱必备!'}
Lxgoods{id=1002, goodsName='卫龙辣条', price=1.0, desc='隔壁小孩馋哭了!'}
货架目前商品数量2

下架商品

//下架商品
    private void delete() {
        System.out.println("请输入要删除的商品编号:");
        int id = 0;
        try {
            id = new Scanner(System.in).nextInt();
        } catch (Exception e) {
            //e.printStackTrace();
            System.out.println("请输入正确的格式如:1001...");
        }
        for (int i = 0; i < this.lxgoods.length; i++) {
                if(this.lxgoods[i] != null && this.lxgoods[i].getId() == id) {
                    this.lxgoods[i] = null;
                    num--;
                    //System.out.println("货架目前商品数量" + num);
                    show();
                    return;
                }
            }
                System.out.println("商品不存在");
                delete();
        }

运行结果

-->欢迎使用商品管理系统
-->输入1显示所有商品信息
-->输入2下架商品
-->输入3上架商品
-->输入4修改商品价格
-->输入0退出商品货架
-->请输入热键:
2
请输入要删除的商品编号:
kndls
请输入正确的格式如:1001...
商品不存在
请输入要删除的商品编号:
1002
-->商品货架信息
Lxgoods{id=1001, goodsName='巧克力', price=25.0, desc='美味可口,恋爱必备!'}
货架目前商品数量1

上架商品

//上架商品
    private void add() {
        // System.out.println("add");
        //判断货架是否还有空位,有空位才可以添加
        if (this.lxgoods.length == num) {
            System.out.println("糟糕!商品没位置放了");
            return;
        }
        System.out.println("请输入要添加的商品编号:");
        int id = 0;
        try {
            id = new Scanner(System.in).nextInt();
        } catch (Exception e) {
            //e.printStackTrace();
            System.out.println("请输入正确的格式如:1001...");
            add();
            return;
        }
        for (int i = 0; i < this.lxgoods.length; i++) {
            //判断商品编号是否存在
            if (this.lxgoods[i] != null && this.lxgoods[i].getId() == id) {
                System.out.println("商品编号已存在");
                add();
            }
        }
        System.out.println("请输入要添加的商品名称:");
        String name = new Scanner(System.in).next();
        System.out.println("请输入要添加的商品价格:");
        double price = 0;
        try {
            price = new Scanner(System.in).nextDouble();
        } catch (Exception e) {
            //e.printStackTrace();
            System.out.println("请输入正确的格式如:10.1...");
            price = new Scanner(System.in).nextDouble();
        }
        System.out.println("请输入要添加的商品描述:");
        String desc = new Scanner(System.in).next();
        //调用构造器,初始化商品信息
        Lxgoods lxgoods = new Lxgoods(id, name, price, desc);
        for (int i = 0; i < this.lxgoods.length; i++) {
            //把初始化的商品放入null的位置
            if (this.lxgoods[i] == null) {
                this.lxgoods[i] = lxgoods;
                System.out.println("商品添加成功");
                num++;
                show();
                return;
            }
        }
    }

运行结果

-->欢迎使用商品管理系统
-->输入1显示所有商品信息
-->输入2下架商品
-->输入3上架商品
-->输入4修改商品价格
-->输入0退出商品货架
-->请输入热键:
3
请输入要添加的商品编号:
kj
请输入正确的格式如:1001...
请输入要添加的商品编号:
1003
请输入要添加的商品名称:
饼干
请输入要添加的商品价格:
草莓味的,酥酥脆脆人人爱
请输入正确的格式如:10.1...
5.0
请输入要添加的商品描述:
草莓味的,酥酥脆脆人人爱
商品添加成功
-->商品货架信息
Lxgoods{id=1001, goodsName='巧克力', price=25.0, desc='美味可口,恋爱必备!'}
Lxgoods{id=1002, goodsName='卫龙辣条', price=1.0, desc='隔壁小孩馋哭了!'}
Lxgoods{id=1003, goodsName='饼干', price=5.0, desc='草莓味的,酥酥脆脆人人爱'}
货架目前商品数量3

修改商品价格

//修改商品价格
    private void updata() {
        //System.out.println("updata");
        show();
        System.out.println("请输入要修改的商品编号:");
        int id = 0;
        try {
            id = new Scanner(System.in).nextInt();
        } catch (Exception e) {
            //e.printStackTrace();
            System.out.println("请输入正确的格式如:1001...");
            updata();
            return;
        }
        for (int i = 0; i < this.lxgoods.length; i++) {
            if(this.lxgoods[i] != null && this.lxgoods[i].getId() == id) {
                System.out.println("商品的原价为" + this.lxgoods[i].getPrice());
                System.out.println("请输入要修改的商品价格:");
                double price = 0;
                try {
                    price = new Scanner(System.in).nextDouble();
                } catch (Exception e) {
                    //e.printStackTrace();
                    System.out.println("请输入正确的格式如:10.1...");
                    price = new Scanner(System.in).nextDouble();
                }
                //把改的价格初始化到原来的价格中
                Lxgoods lxgoods = new Lxgoods(this.lxgoods[i].getId(), this.lxgoods[i].getGoodsName(), price, this.lxgoods[i].getDesc());
                //最后再把新的商品信息放回到原来的位置
                this.lxgoods[i] = lxgoods;
                show();
                return;
            }
        }
    }

运行结果

-->欢迎使用商品管理系统
-->输入1显示所有商品信息
-->输入2下架商品
-->输入3上架商品
-->输入4修改商品价格
-->输入0退出商品货架
-->请输入热键:
4
-->商品货架信息
Lxgoods{id=1001, goodsName='巧克力', price=25.0, desc='美味可口,恋爱必备!'}
Lxgoods{id=1002, goodsName='卫龙辣条', price=1.0, desc='隔壁小孩馋哭了!'}
货架目前商品数量2
请输入要修改的商品编号:
1001
商品的原价为25.0
请输入要修改的商品价格:
80.8
-->商品货架信息
Lxgoods{id=1001, goodsName='巧克力', price=80.8, desc='美味可口,恋爱必备!'}
Lxgoods{id=1002, goodsName='卫龙辣条', price=1.0, desc='隔壁小孩馋哭了!'}
货架目前商品数量2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值