柜台管理系统(1.2)

本文档展示了柜台商品管理系统中如何新增和修改商品功能。包括使用InputUtils处理输入异常,商品数量为0时的提示,不输出null商品,商品数量已满和编号重复的判断等。详细描述了上架商品、调整价格和修改商品信息的流程及异常处理。
摘要由CSDN通过智能技术生成

(注:物品类 和测试类不在这里放了 前面的1.0和1.1有这里只显示改动的类)

增加工具类InputUtils来解决输入异常的问题

show();
            增加商品数量为0时的提示
            不输出null商品

             展示柜台商品数量 及存储情况

add();
            增加商品数量已满的提示
            增加商品编号不能重复的判断

 update();
            首先展示所有商品
            根据商品编号(输入要修改的商品编号)
            修改商品的价格

首先是增加的工具类 InputUtils

package counterPro;

import java.util.Scanner;

/**
 *
 * 提供一些输入的方法
 */
public class InputUils {
    /**
     * 获取功能序号
     *
     *
     * @return
     */
    public  static int getNum(){
        int n=0;
        try {
            n = new Scanner(System.in).nextInt();
        } catch (Exception e) {
            //e.printStackTrace();
            //如果输入非数字,就会抛出异常,被catch语句捕获,在这里处理异常
            System.out.println("-->警告:输入非法数字!!请重新输入");
            n=getNum();//递归(调用自身)
        }

        if(n<0 || n>4){
            System.out.println("-->警告:输入非法命令!!请重新输入");
            n=getNum();//调用自身
        }

        return n;//返回输入的数字

    }

    /**
     *
     * @return
     */
    public  static int getGoodsId(){
        int n=0;
        try {
            n = new Scanner(System.in).nextInt();
        } catch (Exception e) {
            //e.printStackTrace();
            //如果输入非数字,就会抛出异常,被catch语句捕获,在这里处理异常
            System.out.println("-->警告:输入非法数字!!请重新输入");
            n=getGoodsId();//递归(调用自身)
        }
        return n;//返回输入的数字
    }

    public  static int getPrice(){
        int n=0;
        try {
            n = new Scanner(System.in).nextInt();
        } catch (Exception e) {
            //e.printStackTrace();
            //如果输入非数字,就会抛出异常,被catch语句捕获,在这里处理异常
            System.out.println("-->警告:输入非法数字!!请重新输入");
            n=getPrice();//递归(调用自身)
        }
        return n;//返回输入的数字
    }
}

 Counter类:

package counterPro;

import java.util.Scanner;

/**
 *1.2版本
 *
 */
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,"卫龙辣条",2.5,"隔壁小孩馋哭了!");
        num=2;
    }
    //展示柜台所有的商品(不能输出null)
    public void show(){
        /**
         * 显示goodses数组中不为null的元素(商品放在goodses数组中)
         */
        for (int i = 0; i < goodses.length; i++) {
            if(goodses[i]!=null) {
                System.out.println(goodses[i]);
            }
        }
        /**
         *
         * 统计柜台中商品的数量
         */
        for (int i = 0; i < goodses.length; i++) {
            if(goodses[i]!=null){
                num=i+1;//相当于两个商品
            }
        }
        /**
         * 显示柜台中商品的数量
         *
         */
        if(num==10){
            System.out.println("柜台里有"+num+"个商品"+"已满!!!");
        }else {
            System.out.println("柜台里有" + num + "个商品"+"\t"+"柜台数量状态"+num+"/10");
        }
        if(num==0){
            System.out.println("柜台已缺货!!");
        }
    }

    //菜单方法(柜台功能)
    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() {
        //首先,先展示商品
        for (int i = 0; i < goodses.length; i++) {
            if(goodses[i]!=null){
                System.out.println(goodses[i]);
            }
        }
        //寻找修改价格商品的ID
        System.out.println("-->请输入要修改商品价格的编号:");
        int goodsId = InputUils.getGoodsId();
        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("修改价格成功!!");
  • 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、付费专栏及课程。

余额充值