猫熊超市管理系统



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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

android自定义系统广播 系统与app进行通信

使用场景 我们的定制软件需要在按下电源键时监听并播报软件信息&#xff0c;像我们之前做法是监听屏幕的开关 android.intent.action.SCREEN_ON 广播可以达到要求&#xff0c;但是定制系统CPU熄屏不休眠导致这个广播被拦截收不到了&#xff0c;所以我们就追踪到系统代码的Key…

resultType的类型错误

resultType的类型错误&#xff0c;不能是List而应该是对应的返回Bean对象的类型&#xff0c;VO 这里是引用 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: Error querying database. Cause: java.lang…

木叶飞舞之【机器人ROS2】篇章_第四节、ROS2非常简单的传参方式--利用NodeOptions和get_parameter方法

系列文章目录 木叶飞舞之【机器人ROS2】篇章_第一节、ROS2 humble及cartorgrapher安装 木叶飞舞之【机器人ROS2】篇章_第二节、turtlebot3安装 木叶飞舞之【机器人ROS2】篇章_第三节、给turtlebot3安装realsense深度相机 木叶飞舞之【机器人ROS2】篇章_第四节、ROS2非常简单的…

halcon 算子 get_grayval_interpolated BiCubic 插值验证

测试发现 halcon BiCubic基函数中的a-1.0

自适应手机端+电脑端企业建站网站系统源码 760多建站模版任意选择 带完整的安装代码包以及搭建教程

系统概述 随着互联网的迅猛发展&#xff0c;企业对于网站的需求日益增长。传统的建站方式往往存在着成本高、周期长、维护困难等问题&#xff0c;难以适应快速变化的市场环境。为了解决这些难题&#xff0c;我们的开发团队深入研究企业建站的痛点和需求&#xff0c;结合先进的…

【K8s】专题四(6):Kubernetes 控制器之 Job

以下内容均来自个人笔记并重新梳理&#xff0c;如有错误欢迎指正&#xff01;如果对您有帮助&#xff0c;烦请点赞、关注、转发&#xff01;欢迎扫码关注个人公众号&#xff01; 目录 一、基本介绍 二、工作原理 三、相关特性 四、资源清单&#xff08;示例&#xff09; 五…

如何在 Mac 上使用 Windows 版 Excel 的全部功能

作为 Mac 用户&#xff0c;你是否怀念 Excel 的一些关键功能&#xff1f;是不是在 Mac 版 Excel 中找不到全面的 VBA、Active X 和表单控件、智能标签、Power Pivot 等关键工具&#xff1f;Mac 用户们&#xff0c;其实你不必错过这些功能。终极解决方案就是&#xff1a;通过 Pa…

为啥要在虚拟机上搞开发呢:一个码农的Mac折腾史

作为一个码农&#xff0c;我一直在不停地学习新技术&#xff0c;适应新环境。但说实话&#xff0c;我最大的挑战之一是那天我决定从 Windows 转投 Mac 的阵营。 一开始&#xff0c;我还挺犹豫的。 Windows 和 Linux 一直是我求学和工作的得力伙伴。我在那个熟悉的世界里觉得很…

激发AI创新潜能,OPENAIGC开发者大赛赛题解析

人工智能&#xff08;AI&#xff09;的飞速发展&#xff0c;特别是AIGC、大模型、数字人技术的成熟&#xff0c;不仅改变了数据处理和信息消费的方式&#xff0c;也为企业和个人提供了前所未有的机遇。在这种技术进步的背景下&#xff0c;由联想拯救者、AIGC开放社区、英特尔共…

内地户口转香港身份的7种途径!2024年怎么同时拥有2个身份?一篇说明白

很多人还不知道怎么同时拥有内地身份和香港身份&#xff0c;这里一次性说明白&#xff0c;不同背景情况及政策有可能随时变化&#xff0c;这里分享最近拿香港身份的7种途径。 #01 优才『香港优秀人才计划』 获批准的申请人无须在来港定居前先获得本地雇主聘任。所有申请人均必…

淘宝扭蛋机小程序:解锁个性化扭蛋新体验

在追求个性化的今天&#xff0c;淘宝扭蛋机小程序以其独特的功能和设计&#xff0c;为我们解锁了全新的个性化扭蛋新体验。 1. 定制化扭蛋选择 淘宝扭蛋机小程序提供了多种定制化扭蛋选择&#xff0c;让你根据自己的喜好和需求&#xff0c;挑选心仪的扭蛋机。无论是喜欢动漫角…

界面控件Telerik UI for WPF中文教程 - 用RadSvgImage升级应用程序UI

Telerik UI for WPF拥有超过100个控件来创建美观、高性能的桌面应用程序&#xff0c;同时还能快速构建企业级办公WPF应用程序。UI for WPF支持MVVM、触摸等&#xff0c;创建的应用程序可靠且结构良好&#xff0c;非常容易维护&#xff0c;其直观的API将无缝地集成Visual Studio…

EE trade:通货膨胀对老百姓意味着什么

通货膨胀&#xff0c;是经济领域中的一个常见现象&#xff0c;对社会各阶层尤其是普通老百姓的生活产生了深远影响。理解通货膨胀对老百姓的真实含义&#xff0c;可以帮助我们更好地应对日常生活的变化与挑战。 1. 生活成本的上升 最直接的影响体现在生活成本上。通货膨胀会导致…

线性模型-分类

一、线性判别分析LDA 线性判别分析是一种经典的线性学习方法&#xff0c;在二分类问题上最早是Fisher提出的&#xff0c;亦称为Fisher判别分析。 Fisher判别分析是一种用于降维和分类的统计方法&#xff0c;旨在找到可以最好区分不同类别的特征。它基于类内方差和类间方差的比…

[数据集][目标检测]医疗防护服检测数据集VOC+YOLO格式649张7类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;649 标注数量(xml文件个数)&#xff1a;649 标注数量(txt文件个数)&#xff1a;649 标注类别…

ChatGLM 4本地部署指南(Docker容器版)

GLM-4V-9B 是智谱 AI 推出的最新一代预训练模型 GLM-4 系列中的开源多模态版本。 GLM-4V-9B 具备 1120 * 1120 高分辨率下的中英双语多轮对话能力&#xff0c;在中英文综合能力、感知推理、文字识别、图表理解等多方面多模态评测中&#xff0c;GLM-4V-9B 都表现出卓越性能。 本…

每日一题遇到沙比题目——Python实现PAT甲级1058 A+B in Hogwarts(举一反三+思想解读+逐步优化)

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 吐槽题目 我的写法 代码分析 1. 输入处理 2. 变量初始化 3. 查找星期几和小时 4…

系统架构设计师重难点知识脑图

大家都知道现在的软考自从变成机考后,越来越难了,教程上的内容不仅全还细,几乎任何内容都有可能考,出题老师主打一个出其不意,比如2024年5月考试,连UML时序图的片段都考,这 种如果看书的话一般都是一瞟而过,而实际工作中又很少会这么严格的去画片段。 所以对于教程上的…

悬浮翻译推荐哪个软件好?秒懂外国电影就靠它

电影如《阿甘正传》中的"Life is like a box of chocolates, you never know what youre gonna get."等台词&#xff0c;总能深深打动我们&#xff0c;超越语言的界限。 但在现实世界中&#xff0c;语言差异往往成为沟通的障碍。幸运的是&#xff0c;随着悬浮翻译器…

知识付费小程序开发搭建

一、知识付费小程序简介 知识付费小程序是一个开发知识支付的平台&#xff0c;拥有自主研发的在线课程平台&#xff0c;致力于服务知识支付行业&#xff0c;能深入每个业务场景构建完善知识付费闭环。 二、知识付费小程序的开发搭建过程 关键步骤&#xff1a; 1&#xff0c;…