猫熊超市管理系统

news2024/11/19 13:41:41



import java.util.Scanner;

//增加商品类
//此类用来录入一个商品的所有属性,并作为结果对其返回
public class Add {
    public Goods add1() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入商品名称");
        String name = scanner.next();
        System.out.println("请输入商品数量");
        int shuliang = scanner.nextInt();
        System.out.println("请输入商品价格");
        float jiage = scanner.nextFloat();
        System.out.println("请输入商品产地");
        String chandi = scanner.next();
        System.out.println("请输入商品编号");
        int bianhao = scanner.nextInt();
        return new Goods(shuliang, name, chandi, jiage, bianhao);

    }
}


import java.util.ArrayList;
import java.util.Scanner;

//此类为删除商品类
//获取一个需要删除的商品的主键(biuanhao),并且返回bianhao
public class Delete {
    public int delete(ArrayList<Goods> goods) {
        //创建打印机类
        Scanner scanner = new Scanner(System.in);
        //此处int 类型的bianhao表示需要删除的元素的编号
        System.out.println("请输入要删除的商品编号");
        int bianhao = scanner.nextInt();
        for (int i = 0; i < goods.size(); i++) {
            Goods goods1 = goods.get(i);
            if (goods1.getBianhao() == bianhao) {
                goods.remove(i);
                rz rz =new rz();
                rizhi rizhi = new rizhi();
                String time=rizhi.rizhi1();
                rz.setTime(time);
                rz.setCaozuo("删除商品");
                return i;
            }
        }
        System.out.println("抱歉,没有该编号的商品");
        return 0;
    }

}


public class Goods {
    //无参构造函数
    public  Goods(){}
    private int shuliang;
    private String name;
    private String chandi;
    private float jiage;
    private int bianhao;

    public int getShuliang() {
        return shuliang;
    }

    public void setShuliang(int shuliang) {
        this.shuliang = shuliang;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getChandi() {
        return chandi;
    }

    public void setChandi(String chandi) {
        this.chandi = chandi;
    }

    public double getJiage() {
        return jiage;
    }

    public void setJiage(float jiage) {
        this.jiage = jiage;
    }

    public int getBianhao() {
        return bianhao;
    }

    public void setBianhao(int bianhao) {
        this.bianhao = bianhao;
    }

    @Override
    public String toString() {
        return "Goods{" +
                "shuliang=" + shuliang +
                ", name='" + name + '\'' +
                ", chandi='" + chandi + '\'' +
                ", jiage=" + jiage +
                ", bianhao=" + bianhao +
                '}';
    }

    public Goods(int shuliang, String name, String chandi, float jiage, int bianhao) {
        this.shuliang = shuliang;
        this.name = name;
        this.chandi = chandi;
        this.jiage = jiage;
        this.bianhao = bianhao;
    }
}
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Scanner;

//记录销售数量
public class inOut {
    public int inOut1(ArrayList<Goods> goods) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入销售的商品编号");
        int bianhao = scanner.nextInt();
        System.out.println("请输入销售的数量");
        int shuliang = scanner.nextInt();
        rz rz = new rz();
        rizhi rizhi = new rizhi();
        String time=rizhi.rizhi1();
        rz.setTime(time);
        rz.setCaozuo("商品出货");
        for (int i = 0; i < goods.size(); i++) {
            if (bianhao == goods.get(i).getBianhao()) {
                int n=goods.get(i).getShuliang()-shuliang;
                goods.get(i).setShuliang(n);
                break;
            }
        }
        return 0;
    }
}


import java.util.ArrayList;
import java.util.Scanner;

//此类提供修改功能的子功能
//返回用户输入的商品编号对应的商品在ArrayList<>容器中的索引值
public class Set {
    public int Set1(ArrayList<Goods> goods) {
        System.out.println("请输入需要修改商品的编号");
        Scanner scanner = new Scanner(System.in);
        int bianhao = scanner.nextInt();
        //判断是否有这个编号的商品
        for (int i = 0; i < goods.size(); i++) {
            if (goods.get(i).getBianhao() == bianhao) {
                    return i;
            }
        }
        System.out.println("🐼提醒您,您输入的编号有误,数据库中没有编号为:"+bianhao+"的商品");
     return -1;
    }
}
package 集合框架.单列.学生管理系统.商品管理系统;


import java.util.ArrayList;
import java.util.Scanner;

//该类是用来接收Set类中的Set1()函数返回的值
public class Set2 {
    public void Set3(ArrayList<Goods> goods, int i) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入您要修改的数据");
        System.out.println("1.名称");
        System.out.println("2.编号");
        System.out.println("3.产地");
        System.out.println("4.价格");
        System.out.println("5.数量");
        int i1 = scanner.nextInt();
        if (i1 == 1) {
            System.out.println("请输入修改后名称");
            goods.get(i).setName(scanner.next());
        } else if (i1 == 2) {
            if (goods.size() != 1) {
                //创建while1变量
                //初始值为0,在进入while循环后会将其改为1
                //如果while循环中嵌套的for循环中的if判断为正确,代表有编号重复
                //此时将while1的值再次改为0,使其仍然满足while循环
                int while1 = 0;
                while (while1 == 0) {
                    System.out.println("请输入修改后的编号");
                    //i2用来接收修改后的编号
                    int i2 = scanner.nextInt();
                    goods.get(i).setBianhao(i2);
                    while1 = 1;
                    //遍历集合元素
                    for (int i3 = 0; i3 < goods.size(); i3++) {
                        //判断是否编号重复,如果新编号与此商品的原来编号重复,则判断结果为false,不会将while1的值改为0
                        if (i2 == goods.get(i3).getBianhao() && i2 != goods.get(i).getBianhao()) {
                            System.out.println("编号重复无法修改,请输入唯一的编号");
                            while1 = 0;
                            break;
                        }
                    }
                }
            } else {
                System.out.println("请输入修改后编号");
                goods.get(i).setBianhao(scanner.nextInt());
            }
        } else if (i1 == 3) {
            System.out.println("请输入修改后的产地");
            goods.get(i).setChandi(scanner.next());
        } else if (i1 == 4) {
            System.out.println("请输入修改后的价格");
            goods.get(i).setJiage(scanner.nextFloat());
        } else if (i1 == 5) {
            System.out.println("请输入修改后的数量");
            goods.get(i).setShuliang(scanner.nextInt());
        }
        rz rz =new rz();
        rizhi rizhi = new rizhi();
        String time=rizhi.rizhi1();
        rz.setTime(time);
        rz.setCaozuo("修改商品");
    }
}



import java.util.ArrayList;

//该类为输出所有元素的类
public class to {
    public void to1(ArrayList<Goods> goods) {
        System.out.println("编号      名称      数量      价格      产地");
        for (int i = 0; i < goods.size(); i++) {
            System.out.print(goods.get(i).getBianhao() + "        ");
            System.out.print(goods.get(i).getName() + "     ");
            System.out.print(goods.get(i).getShuliang() + "       ");
            System.out.print(goods.get(i).getJiage() + "      ");
            System.out.println(goods.get(i).getChandi() + "     ");

        }
        rizhi rizhi = new rizhi();
        rz rz = new rz();
        String time = rizhi.rizhi1();
        rz.setTime(time);
        rz.setCaozuo("查看元素");
    }

}

import java.util.ArrayList;
//库存预警
public class yujing {
    public void yujing1(ArrayList<Goods> goods) {
        for (int i = 0; i < goods.size(); i++) {
            int n = goods.get(i).getShuliang();
            if (n < 10) {
                System.out.println("🐼提醒您"+goods.get(i).getName() + "数量为" + n + "建议补货");
            }
        }
    }
}
import java.util.ArrayList;

//输入异常处理类
public class yichang {
    public void yichang1(ArrayList<Goods> goods){
        Add add = new Add();
        rizhi rizhi = new rizhi();
        rz rz = new rz();
        try{goods.add(add.add1());
            String time =rizhi.rizhi1();
            rz.setTime(time);
            rz.setCaozuo("添加商品");
        }
        catch(java.util.InputMismatchException e){
            System.out.println("🐼提醒您价格或数量输入错误🐼已删除该商品信息,请重新输入");
            yichang1(goods);
        }

    }
}

package 集合框架.单列.学生管理系统.商品管理系统;

import java.util.ArrayList;
import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        //构建存储容器
        ArrayList<Goods> goods = new ArrayList<>();
        //构建日志存储器
        ArrayList<rz> rz1 = new ArrayList<>();
        Delete delete = new Delete();
        to to = new to();
        Add Add = new Add();
        Set set = new Set();
        Set2 set2 = new Set2();
        yichang yichang = new yichang();
        inOut inOut = new inOut();
        yujing yujing = new yujing();
        torz torz = new torz();
        Scanner scanner = new Scanner(System.in);
        // 此处xuhao用来接收demo()函数返回的demo这个方法里面的xuhao
        for (; ; ) {
            //进行预警
            yujing.yujing1(goods);
            //生成操作界面
            int xuhao = demo();

            if (xuhao == 1) {
                yichang.yichang1(goods);
                //检查是否重复编号,并删除重复编号的商品
                //要判断是否为一个商品,如果仅为一个商品必然不可能重复编号
                if (goods.size() != 1) {
                    //定义一个i1,如果下面的if判断为true就改成0,这样就可以把通过if判断的goods元素(编号重复的商品)无法通过第二个if判断
                    //即无法输出商品添加成功

                    int i1 = 1;
                    for (int i = 0; i < goods.size() - 1; i++) {
                        //判断最后一个元素,(也就是刚刚加入的商品)的属性——编号是否与其他元素的该属性相同
                        //为了不与最后一个元素(该商品自己本身)进行比较,循环的判定条件:i要小于集合的长度-1
                        //以避免与自己本身进行比较,如果不进行此操作,则集合中的编号必然重复
                        if (goods.get(goods.size() - 1).getBianhao() == goods.get(i).getBianhao()) {
                            System.out.println("🐼提醒您,您输入的编号有重复");
                            goods.remove(goods.size() - 1);
                            System.out.println("🐼已帮您删除您刚刚输入的商品");
                            i1 = 0;
                        }
//                        else {
//                            System.out.println("商品添加成功");
//                            break;
//                        }
                    }
                    if (i1 == 1) {
                        System.out.println("商品添加成功");
                    }
                } else {
                    System.out.println("商品添加成功");
                }


            }
            if (xuhao == 2) {

                to.to1(goods);
            }
            if (xuhao == 3) {
                //如果i=-1代表编号重复,则不调用执行修改功能的函数Set2
                int i = set.Set1(goods);
                if (i != -1) {
                    set2.Set3(goods, i);
                }

            }
            if (xuhao == 4) {
                delete.delete(goods);
            }
            if (xuhao == 5) {
                inOut.inOut1(goods);
            }
       
            if (xuhao == 6) {
                System.out.println("您确定要退出🐼商品管理系统吗?");
                System.out.println("如果确实退出请输入----确认退出,不想退出请输入其他任意键");
                String yes_Or_no = scanner.next();
                if (yes_Or_no.equals("确认退出")) {
                    System.out.println("感谢您的使用,🐼商品管理系统即将退出");
                    System.out.println("-----退出成功----");
                    break;
                }
            }
        }
    }

    public static int demo() {
        System.out.println("===============欢迎使用🐼商品管理系统===============");
        System.out.println("1.新增商品");
        System.out.println("2.查询商品");
        System.out.println("3.修改商品");
        System.out.println("4.删除商品");
        System.out.println("5.商品出货");
        System.out.println("6.退出系统");
        System.out.println("请选择[1--6]");
        Scanner scanner = new Scanner(System.in);
        //此处的变量序号为选择功能时的序号
        int xuhao = scanner.nextInt();
        return xuhao;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1791800.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

处理一对多的映射关系

一对多关系&#xff0c;比如说根据id查询一个部门的部门信息及部门下的员工信息 在Dept类中先添加List emps属性 1、collection DeptMapper.xml文件中 <resultMap id"deptAndEmpResultMap" type"Dept"><id property"did" column&qu…

【c++设计模式17】行为模式2:命令模式(Command Pattern)

【c设计模式17】行为模式2&#xff1a;命令模式&#xff08;Command Pattern&#xff09; 一、定义二、适用场景三、过程四、命令模式类图五、C示例代码六、使用注意事项 原创作者&#xff1a;郑同学的笔记 原创地址&#xff1a;https://zhengjunxue.blog.csdn.net/article/det…

面试官:你知道 ES6 的 生成器 Generator 吗?小明:说起 Generator,还得从我上次去餐馆点餐开始说起。

讲故事学 Generator 这篇文章先说一个小故事&#xff0c;作为引子&#xff0c;然后系统讲讲 Generator。阅读这篇文章的话&#xff0c;需要一些前置知识&#xff1a;起码用过 Promise 和 async/await。 小故事 吃货小明去了一家菜鸟镇非常有名的餐馆——《老三样餐馆》&…

如何修改cPanel面板的语言

本周有一个客户&#xff0c;购买Hostease的主机&#xff0c; 客户购买的是Linux虚拟主机&#xff0c;带cPanel面板的。询问我们的在线客服&#xff0c;他想修改cPanel面板的默认语言。Hostease虚拟主机默认英语&#xff0c;客户想要修改成中文。 在cPanel面板中修改语言设置是一…

3 - 大的国家(高频 SQL 50 题基础版)

3.大的国家 -- 查询属性&#xff1a;国家名称、人口和面积 select name,population,area fromWorld where area>3000000 OR population>25000000;

React中常见的面试题

本文是结合实践中和学习技术文章总结出来的笔记(个人使用),如有雷同纯属正常((✿◠‿◠)) 喜欢的话点个赞,谢谢! 1. 约束性组件与非约束性组件 1.1. 非约束性组件 非约束性组件其实就是不能控制状态的组件,比如: <input type"text" defaultValue"123&qu…

一个思维狂赚20万+?揭秘电商平台隐藏的流量认知!

你想要的流量&#xff0c;资源&#xff0c;人脉&#xff0c;都已经有人为你准备&#xff0c;你只需要找到拥有这些资源的人。对于流量和信息&#xff0c;也是一样&#xff0c;你想找的客户和产品&#xff0c;都已经有人为你准备在淘宝、拼多多等电商平台&#xff0c;你只需要找…

【踏雪无痕的痕六】——数学中有意思的问题

一、背景介绍 提出一个问题往往比解决一个问题更有意义&#xff0c;因为提出一个问题相当于提出了一个思考问题的维度&#xff1b;而解决一个问题是沿着这个维度将已有的知识串起来的过程 三、过程 1.数人数你会吗&#xff1f; 小名再第10位&#xff0c;小李再第15位&#…

VRTK4.0学习——(二)

手柄绑定以及显示 1.导入CameraRigs.UnityXRPluginFramework 和 CameraRigs.TrackedAlias 预设&#xff0c;将CameraRigs.UnityXRPluginFramework拖入CameraRigs.TrackedAlias的Elements中即可&#xff0c;运行软件后即可看到手柄了 注&#xff1a;如果无法看到手柄&#xff…

AI降痕工具使用指南:如何有效降低AIGC疑似度

随着人工智能技术的突飞猛进&#xff0c;AI生成内容&#xff08;AIGC&#xff09;已被广泛用于学术论文撰写中&#xff0c;提高效率同时也带来了原创性的挑战。面对日益严格的学术审查&#xff0c;一个突出的问题是&#xff1a;使用AI代写的论文能否通过内容检测&#xff1f;因…

《精品生活》万方普刊投稿发表简介

《精品生活》杂志是由国家新闻出版总署批准&#xff0c;南方出版传媒股份有限公司主管&#xff0c;广东大沿海出版工贸有限公司主办&#xff0c;广东精品生活杂志社出版的综合性文化期刊。主要栏目&#xff1a;教学研究、艺术教育、文化广角、民族文化、理论前沿、综合论坛。 刊…

生命周期钩子小案例

文章目录 一、在created中发送数据二、在mounted中获取焦点 一、在created中发送数据 <body><div id"app"><ul><li v-for"(item, index) in list" :key"item.id" class"news"><div class"left"…

从功能性磁共振成像(fMRI)数据重建音频

听觉是人类最重要的感官之一&#xff0c;它负责接收外部的听觉刺激&#xff0c;并将这些信息传递给大脑进行处理和理解。研究人员正致力于从神经科学和计算机科学两个领域探索人脑的听觉感知机制。一个关键目标是从人脑中解码神经信息&#xff0c;并重建原始的刺激。常见的大脑…

用友BIP收入云:助力旅游行业实现高效收入自动化,驱动收入增长

在数字化浪潮的推动下&#xff0c;旅游行业正经历着前所未有的变革。从传统的线下服务模式到线上线下融合&#xff0c;再到如今的智能化、自动化管理&#xff0c;每一步都标志着旅游行业向更高效、更精准、更便捷的方向发展。其中&#xff0c;收入管理作为旅游企业运营的核心环…

机器学习:更多关于元学习

目录 Meta Learning vs Self-supervised Learning 自监督学习——找初始化的参数MAML 自动学出合适的参数 MAML&#xff1a;不断的学初始化参数MAML的初始化参数来自BERT MAML&#xff1a;找出来的初始化参数能在训练任务上表现的很好BERT&#xff1a;自监督目标是不同的下游任…

msvcp140.dll是什么dll文件?msvcp140.dll文件的丢失要怎么去修复?

msvcp140.dll是什么dll文件&#xff1f;一般会问出这种问题的人&#xff0c;都是遇到了msvcp140.dll丢失的情况了&#xff0c;这时候你的一些程序是打不开的&#xff0c;你需要修复好msvcp140.dll文件才可以正常的打开程序&#xff0c;今天我们就来了解一下msvcp140.dll这文件&…

KT1025A的双模蓝牙芯片,参考标准蓝牙天线,蓝牙距离短,会卡

一、问题简介 使用KT1025A的双模蓝牙芯片&#xff0c;为什么我参考BT201或者BT301&#xff0c;或者BT321F设计的蓝牙天线&#xff0c;蓝牙距离短&#xff0c;会卡等等&#xff0c;这个可能是什么原因&#xff0c;如何改善呢&#xff1f; 问题详细分析 首先看看客户的板子PCB…

opencv快速安装以及各种查看版本命令

安装opencv并查看其版本&#xff0c;直接通过一个可执行文件实现。 #!/bin/bashwget https://codeload.github.com/opencv/opencv/zip/3.4 -O opencv-3.4.zip && unzip opencv-3.4.zip && cd opencv-3.4 && \mkdir build && cd build &&a…

C++--DAY3

思维导图 设计一个Per类&#xff0c;类中包含私有成员:姓名、年龄、指针成员身高、体重&#xff0c;再设计一个Stu类&#xff0c;类中包含私有成员:成绩、Per类对象p1&#xff0c;设计这两个类的构造函数、析构函数。 #include <iostream>using namespace std; class …

【文档智能】符合人类阅读顺序的文档模型-LayoutReader原理及权重开源

引言 阅读顺序检测旨在捕获人类读者能够自然理解的单词序列。现有的OCR引擎通常按照从上到下、从左到右的方式排列识别到的文本行&#xff0c;但这并不适用于某些文档类型&#xff0c;如多栏模板、表格等。LayoutReader模型使用seq2seq模型捕获文本和布局信息&#xff0c;用于…