柜台管理

一。Counter
package java2;

import javax.naming.Name;
import java.util.Scanner;

public class Counter {


    private Goods[]goodses = new Goods[10];
     int num=10;



    public  Counter(){
        this.goodses[0]=new Goods(1001,"巧克力",25,"美味可口,恋爱必备!");
        this.goodses[1]=new Goods(1002,"卫龙辣条",1,"隔壁小孩馋哭了!");
        num=2;//相当于两个商品
    }
    public void show(){
    for (Goods gd: goodses){
        if (gd !=null){
            System.out.println(gd);
        }
    }

    }
    public  void  main(){
        System.out.println("----");
        System.out.println("------------------1.展示商品 2.上架商品---------");
        System.out.println("------------------3.下架商品 4.调整价格---------");
        System.out.println("------------------0 退出     -----------------");
        System.out.println("-->请输入功能编号");
        //选择功能 控制台输入
        int key = InputUtils.getGoodsId();
        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() {
        /*
        *
        * */
        System.out.println("请输入要修改的id:");
        int id2 = InputUtils.getGoodsId();
        for(int i = 0; i<this.goodses.length;i++){
            if (this.goodses[i].getId()!=id2){
                update();
                System.out.println("id错误请重新输入:");
                return;//跳出方法
            }else{
                //找到对应商品  接着执行
                System.out.println("请输入想要修改的价格:");
                double price = InputUtils.getPrice();
                for (int j = 0; j<this.goodses.length;i++){
                    if (this.goodses[j].getPrice()!=price){
                        this.goodses[j].setPrice(price);
                        System.out.println(" 修改完毕。。数据更新为:"+this.goodses[i]);
                        return;//跳出方法
                    }
                }
            }



        }



    }
    //删除
    private void delete() {
        System.out.println("-->请输入要删除的商品编号:");
        int goodsId = InputUtils.getGoodsId();
        //第一件事 找到商品id对象
        for (int i = 0; i < this.goodses.length; i++) {
            if (this.goodses[i].getId()==goodsId){
                //找到以后删除
                this.goodses[i] = null;
                System.out.println("-->提示:下架成功!! 当前商品数量"+this.num);
                //商品数量-1
                this.num--;
                //还需要继续循环?
                return;//跳出方法(只有找到商品才执行)
            }
        }

        //如果没有商品 就会执行到这里
        System.out.println("-->:没有找到商品!!");
    }
    //添加
    private void add() {
        if (this.num==this.goodses.length){
            System.out.println("-->警告:柜台已满,不能再添加商品了");
            return;
        }


        System.out.println("请输入商品id:");
        int goodsId = InputUtils.getGoodsId();
        //丰富 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;//由于重复 后续不再执行
            }
        }

    //程序走到这里说明没有重复、
        System.out.println("-->提示:商品id可以使用!!");
        System.out.println("请输入商品名称:");
        String name = new Scanner(System.in).next();

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

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

        //把输入的信息装到goods对象
        Goods newGoods=new Goods(goodsId, name, price, desc);

    }
}

二。 CounterTest  测试

package java2;

public class CounterTest {
    public static void main(String[] args) {
        Counter counter=new Counter();
        counter.show();;
        counter.main();
    }
}

三。InputUtils 粘贴 复制

package java2;

import java.util.Scanner;

/**
 * 提供一些输入的方法
 */
public class InputUtils {

    /**
     * 获取我们的功能序号
     * @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();//递归
        }
        //必须是0-4
        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;//返回输入的数字
    }

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

四。Goods  万物之始

package java2;

/**
 * 用来描述商品信息的实体类
 *
 */
public class Goods {
    private int id;// 商品编号
    private String goodsName;// 商品名称
    private double price;// 商品价格
    private String desc;// 商品描述

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

    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;
    }

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值