猫熊超市管理系统

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;}@Overridepublic 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的值改为0if (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这个方法里面的xuhaofor (; ; ) {//进行预警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代表编号重复,则不调用执行修改功能的函数Set2int 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.mzph.cn/pingmian/23072.shtml

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

相关文章

dns域名解析服务和bond网卡

目录 dns域名解析服务 一、DNS 1、定义 2、以www.baidu.com为例 3、域名体系结构 4、DNS解析使用的协议和端口 5、dns域名解析的过程 6、dns解析的优先级 二、如何实现域名解析 1、域名解析 2、bind配置文件位置 &#xff08;一&#xff09;正向解析 &#xff08;…

每天CTF小练--ctfshow新手村

easy_base 密文&#xff1a;0XezFWZfNXafRjNlNXYit3dvh2cmR3Y 等号在前面&#xff0c;直接倒序后解码 ctfshow{base64_is_easy} 代码解&#xff1a; s 0XezFWZfNXafRjNlNXYit3dvh2cmR3Y print(s[::-1]) #翻转字符串 print(s[::-1]) #翻转字符串 print(s[::-1]) #翻转…

HarmonyOS(二十五)——Harmonyos通用事件之点击事件

组件被点击时触发的事件就是点击事件。 1.事件 名称支持冒泡功能描述onClick(event: (event?: ClickEvent) > void)否点击动作触发该回调&#xff0c;event返回值见ClickEvent对象说明。从API version 9开始&#xff0c;该接口支持在ArkTS卡片中使用。 2.ClickEvent对象…

C++ STL初阶(2):string 的模拟实现

此文的背景是自己实现库中的string&#xff0c;由于string的模版实现较为困难&#xff0c;我们只实现最简单char版本。 1.命名空间分割 为了避免与库中的string冲突&#xff0c;我们使用一个自己的命名空间中来分离并实现所有内容&#xff0c;并且将所有的声明和定义相分离&…

Etcd Raft架构设计和源码剖析1:宏观架构

Etcd Raft架构设计和源码剖析1&#xff1a;宏观架构 | Go语言充电站 序言 Etcd提供了一个样例contrib/raftexample&#xff0c;用来展示如何使用etcd raft。这篇文章通过raftexample介绍如何使用etcd raft。 raft服务 raftexample是一个分布式KV数据库&#xff0c;客户端可…

vivado BEL_PIN、CELL

BEL_PIN是BEL对象上的接点或连接点。 BEL_PIN是一个设备对象&#xff0c;与网表对象&#xff08;如逻辑上的PIN&#xff09;相关 CELL&#xff0c;它是NET的连接点。 相关对象 如图所示&#xff0c;BEL_PIN-对象与BEL和SITE设备资源相关&#xff0c;并且 PIN和NET网表对象。您可…

Nginx配置详细解释:(3)http模块及server模块,location模块

目录 环境概述&#xff1a; http模块中的全局模块 1. root配置主要是对主web页面的路径访问。 2.server虚拟主机 2.1基于IP&#xff1a; 2.2基于域名&#xff1a; 3.alias别名 4.location匹配 5.access模块&#xff1a; 6.验证模块 7.自定义错误页面 8.日志存放位置…

王道408数据结构CH3_栈、队列

概述 3.栈、队列和数组 3.1 栈 3.1.1 基本操作 3.1.2 顺序栈 #define Maxsize 50typedef struct{ElemType data[Maxsize];int top; }SqStack;3.1.3 链式栈 typedef struct LinkNode{ElemType data;struct LinkNode *next; }*LiStack;3.2 队列 3.2.1 基本操作 3.2.2 顺序存储…

【Intro】Cora数据集介绍

https://graphsandnetworks.com/the-cora-dataset/ Graph Convolutional Network (GCN) on the CORA citation dataset — StellarGraph 1.0.0rc1 documentation pytorch-GAT/The Annotated GAT (Cora).ipynb at main gordicaleksa/pytorch-GAT GitHub Cora数据集 Cora数据…

Windows上虚拟机安装OpenGaus22.03

在Windows上安装OpenGauss并不像在Linux上那么直接&#xff0c;因为OpenGauss主要面向OpenEuler系统设计。可以通过使用虚拟机或者Docker来在Windows上运行OpenGauss。虚拟机比Docker提供更完整的操作环境。以下是采用虚拟机的详细步骤&#xff1a; 通过虚拟机安装OpenGauss …

运放应用1 - 反相放大电路

1.前置知识 反相放大电路存在 负反馈电路 &#xff0c;工作在线性区&#xff0c;可以利用 虚短 概念来分析电路。 注&#xff1a;运放的 虚断 特性是一直存在的&#xff0c;虚短特性则需要运放工作在 线性区 有关运放的基础知识&#xff0c;可以参考我的另外一篇文章&#xff…

ASCE(美国土木工程师学会)文献校外去哪里查找下载

今天要讲的数据库是ASCE&#xff08;美国土木工程师学会&#xff09;&#xff0c;该数据库每年出版5万多页的专业期刊、杂志、会议录、专著、技术报告、实践手册和标准等。目前&#xff0c;ASCE数据库中包含35种期刊(1983年至今)、近700卷会议录( 1996年至今)、Civil Engineeri…

htb_solarlab

端口扫描 80,445 子域名扫描 木有 尝试使用smbclient连接445端口 Documents目录可查看 将Documents底下的文件下载到本地看看 xlsx文件里有一大串用户信息&#xff0c;包括username和password 先弄下来 不知道在哪登录&#xff0c;也没有子域名&#xff0c;于是返回进行全端…

C++缺省参数函数重载

缺省参数 大家知道什么是备胎吗&#xff1f; C中函数的参数也可以配备胎。 3.1缺省参数概念 缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时&#xff0c;如果没有指定实参则采用该默认值&#xff0c;否则使用指定的实参。 void TestFunc(int a 0…

智慧医疗新纪元:可视化医保管理引领未来

在数字化浪潮席卷全球的今天&#xff0c;我们的生活正在经历前所未有的变革。其中&#xff0c;智慧医保可视化管理系统就像一股清新的风&#xff0c;为医疗保障领域带来了全新的活力与可能。 想象一下&#xff0c;在繁忙的医院里&#xff0c;患者和家属不再需要为了查询医保信息…

关于nginx的一些介绍

一、Nginx 简介 中文简介文档 二、Centos 安装 Nginx 2.1 安装编译工具及库文件 $ yum -y install make zlib zlib-devel gcc-c libtool openssl openssl-devel2.2 安装 pcre pcre 作用是 Nginx 支持 Rewrite 功能 $ cd /usr/local/src $ wget http://downloads.sourcef…

VBA信息获取与处理第二个专题第五节:实际场景中随机数的利用

《VBA信息获取与处理》教程(版权10178984)是我推出第六套教程&#xff0c;目前已经是第一版修订了。这套教程定位于最高级&#xff0c;是学完初级&#xff0c;中级后的教程。这部教程给大家讲解的内容有&#xff1a;跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互…

Vxe UI vue 使用 VxeUI.previewImage() 图片预览方法

Vxe UI vue 使用 VxeUI.previewImage() 图片预览方法的调用 查看 github 代码 调用全局方法 VxeUI.previewImage() 参数说明&#xff1a; urlList&#xff1a;图片列表&#xff0c;支持传字符串&#xff0c;也可以传对象数组 [{url: xx’l}] activeIndex&#xff1a;指定默…

2. redis配置文件解析

redis配置文件解析 一、redis配置文件1、监听地址2、监听端口3、redis接收请求的队列长度3.1 修改系统参数/内核参数 4、客户端空闲的超时时间5、指定redis的pid文件6、定义错误日志7、定义数据库的数量8、定义持久化存储9、设置redis密码10、redis并发连接11、最大内存策略 二…

Windows Server FTP详解

搭建&#xff1a; Windows Server 2012R2 FTP服务介绍及搭建_windows2012server r2ftp怎么做&#xff1f;-CSDN博客 问题&#xff1a; https://www.cnblogs.com/123525-m/p/17448357.html Java使用 被动FTP&#xff08;PASV&#xff09; 被动FTP模式在数据连接建立过程中…