Java写简易的超市管理系统_-原点的博客-程序员宅基地_java简单超市管理系统

技术标签: java  

使用选择结构,循环结构,数组的知识实现一个超市管理系统

注:写的不够完善,只给数组留了四个空位,只能存在四个商品

public static void main(String[] args) {
    
            Scanner sc = new Scanner(System.in);
            int num = 0;//定义一个用来接收用户输入的变量num
            int [] bh ={
    1000,1001,1002,0};//定义一个用来存商品编号的数组,并存入三个商品的编号,
            double [] dj ={
    10.0,2.0,5.0,0};//定义一个用来存商品价格的数组,
            String [] mc={
    "笔记本","西红柿","辣条",""};//商品名称

            while (num!=5) {
    //循环
                System.out.println("=======超市管理系统==========");
                System.out.println("1.货物清单  2.增加货物  3.删除货物  4.修改货物  5.退出");
                System.out.println("输出你要操作的编号:");
                num = sc.nextInt();
                switch (num) {
    
                    case 1:
                        System.out.println("=========货物清单==========");
                        System.out.println("商品编号\t\t商品单价\t\t商品名称");
                        for (int i = 0; i < bh.length; i++) {
    
                            if (bh[i] != 0 && mc[i] != null) {
    //判断商品编号是否为0和商品名称是否为空,不为0和空就输出
                                System.out.println(bh[i] + "\t\t" + dj[i] + "\t\t\t" + mc[i]);//循环输出已有的三件商品信息
                            }

                        }
                        continue;
                    case 2:
                        System.out.println("选择的是添加商品功能");
                        System.out.println("输出商品编号ID");
                        bh[3] = sc.nextInt();//数组提前留的空位置接收添加商品的编号
                        System.out.println("输入商品单价");
                        dj[3] = sc.nextDouble();
                        System.out.println("请输入商品名称");
                        mc[3] = sc.next();
                        if (bh[3] != 0) {
    //判断添加编号是否为0,不是就代表添加成功
                            System.out.println("添加成功");
                        }
                        continue;
                    case 3:
                        System.err.println("选择的是删除功能");
                        System.out.println("输出要删除的商品编号ID");
                        int scsp = sc.nextInt();
                        //写个循环来判断用户要删除的是那个商品,然后用循环来和用户输入的编号删除商品
                        for (int i = 0; i < bh.length; i++) {
    
                            if (scsp == bh[i]) {
    
                                bh[i] = 0;
                                dj[i] = 0;
                                mc[i] = null;
                                System.out.println("删除成功");
                            }
                        }
                        continue;
                    case 4:
                        int a = 0;//定义一个常量  用来接收用户需要修改的商品
                        System.out.println("选的是修改功能");
                        System.out.println("输入你要修改的商品编号ID");
                        int xg = sc.nextInt();
                        for (int i = 0; i < bh.length; i++) {
    
                            if (xg == bh[i]) {
    
                                a = i;
                            }
                        }
                        System.out.println("输入新的商品编号");
                        bh[a] = sc.nextInt();
                        System.out.println("输入修改商品单价");
                        dj[a] = sc.nextDouble();
                        System.out.println("输入商品名称");
                        mc[a] = sc.next();
                        System.out.println("修改成功");
                        continue;
                    case 5:
                        num=5;
                }

            }



    }

运行结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_51403996/article/details/109518365

智能推荐

SpringCloud快速开始 | Feign和熔断器hystrix使用注意事项(六)Greenwich版本_浮生飘血的博客-程序员宅基地

原文链接一、Feign是什么? Feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似controller调用service。Spring Cloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端。 Feign提供了HTTP请求的模板,通过编写简单的接口和插入注解,就可以定义好HTTP请求...

nopCommerce/.net 中的缓存技术_lglgsy456的博客-程序员宅基地

序言在很多访问量较大的系统中,尤其在某一项数据访问频次较高时,我们会考虑使用缓存,减少系统和数据库的交互,以达到良好的用户体验。缓存主要有页面缓存和数据缓存。数据缓存的实现有很多方式,有基于memcached的,还有基于.net 4.0数据缓存框架,还有一些其他的实现方式。院子里有 PetterLiumemcached快递上手之C#,有兴趣的可以查看,本文主要讨论的是基于.net 4.

单字节奇偶校验_while(1)的博客-程序员宅基地

保存一个数据单元只有一个字节时,也要校验

巧妙的设计签到_阿呆编程的博客-程序员宅基地

一、背景由于需要做项目的返利,需要设计一个签到功能项。得到如下需求点:1、连续签到记录连续签到的天数,根据连续签到的天数,获取对应的相应的奖励;2、记录每月的签到情况根据签到情况,大致可以分析用户对项目的使用情况。二、设计方案考虑到连续签到,设置两个个字段,signCount(连续签到数),modified(修改时间,格式:yyyy-MM-dd)。当用户签到的时候,判断一下,今天...

centos 安装 ffmpeg_yhr19910929的博客-程序员宅基地

基础环境yum -y install gcc automake autoconf libtool makeyum install gcc gcc-c++ wget git安装nasmwget https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2tar xvf nasm-2.15.05.tar.bz2cd nasm-2.15.05./configuremakemake inst.

MyBatis学习01-前篇之JDBC_还有头发的老李的博客-程序员宅基地

MyBatis学习01-前篇之JDBC1 前言2 JDBC2.1 官网地址2.2 简介2.3 示例2.4 JDBC 优缺点2.4.1 优点2.4.2 缺点1 前言在系统开发过程中,开发人员需要使用面向对象的思维实现业务逻辑,但设计数据库表或是操作数据库记录时,则需要通过关系型的思维方式考虑问题。应用程序与关系型数据库之间进行交互时,数据在对象和关系结构中的表、列、字段等之间进行转换。目前常用的关系型数据库有 Mysql、Oracle、SqlServer,随着国产化的推行,国产化数据越来越多的出现在人们

随便推点

.NET Core的日志[4]:将日志写入EventLog_weixin_34211761的博客-程序员宅基地

面向Windows的编程人员应该不会对Event Log感到陌生,以至于很多人提到日志,首先想到的就是EventLog。EventLog不仅仅记录了Windows系统自身针对各种事件的日志,我们的应用也可以利用提供的API将日志消息写到EventLog中。与EventLog相关的API都定义在System.Diagnostics.EventLog这个...

Docker 学习笔记(CentOS 7.1)_开源优测的博客-程序员宅基地

作者: Ray博客地址:http://www.cnblogs.com/tsbc/声明:本文已获作者授权转载,著作权归作者所有。#基本概念##Docker 包括三个基本概念- 镜像(Imag...

python按txt文件读取图像,复制并改名_m0_61899108的博客-程序员宅基地_python通过文件读写,复制图片

利用python,按照txt文件读取指定目录下的特定图像(读取txt文件中出现名称的图像),进行复制并修改图像名称。read()、readline()、readlines()三者差异:参考python中read() readline()以及readlines()区别 - 知乎read() 每次读取整个文件,它通常将读取到底文件内容放到一个字符串变量中,也就是说 .read() 生成文件内容是一个字符串类型。 readline()每只读取文件的一行,通常也是读取到的一行内容放到一个字符串变量中,返

Sentinel实现流控应用_Cinderella100100100的博客-程序员宅基地_sentinel 流控应用

Sentinel实现流控应用1.安装并启动Dashboard控制台1)依赖安装需要openjdk1.8以上yum install java-1.8.0-openjdk.aarch642)配置环境变量需要设置JAVA_HOME变量vim /etc/profile,增加如下内容export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.ns7.01.aarch64/jre让修改立即生效:source /etc/pro

推荐文章

热门文章

相关标签