java超市管理系统

简介: java超市管理系统

说明:此篇知识面向对象思想的demo,并不涉及到数据库操作,如需数据库操作前往博客

:开发目标

通过简单的控制台版本的超市管理系统对javase基础知识回顾,熟悉面向对象(java)的开发思想


:开发代码

商品信息类

/*
 * 商品信息类
 */
 
public class FruitItem {
 
   int ID;//商品编号
 
   String name;//商品名称
 
   double price;//商品价格
 
   int num;//商品数量
 
   double money;//商品zonge
 
}

主类

import java.util.ArrayList;
 
import java.util.Scanner;
 
/*
 * 超市管理系统的启动类
 * 实现基本功能
 *    增加商品
 *    删除商品
 *    修改商品
 *  查询商品
 */
 
public class Shop {
 
   public static void main(String[]args) {
 
      /*因为数组长度不可变 所以采用集合方式 ArrayList中放的是引用类型的数据
       * 创建arraylist集合 存储FruitItem类型的数据
       */
 
      ArrayList<FruitItem> arry= new ArrayList<FruitItem>();
 
      init(arry);
 
      //死循环操作
 
      while(true){
 
        mainMenu();
 
        Scanner s = newScanner(System.in);
 
        int in =s.nextInt();
 
        switch(in){
 
           case 1:
 
              show(arry);
 
              break;
 
           case 2:
 
              add(arry);
 
              break;
 
           case 3:
 
              del(arry);
 
              break;
 
           case 4:
 
              update(arry);
 
              break;
 
           case 5:
 
              return;
 
           default:
 
                 System.err.println("输入的序号不存在");
 
              break;                                   
 
        }
 
      }
 
   }
 
   /*
    * 定义商品初始化方法  创建几个商品并添加到集合array中
    */
 
   public static void  init(ArrayList<FruitItem>arry){
 
      //创建第1个商品
 
      FruitItem f1 = newFruitItem();
 
      f1.ID=1000;
 
      f1.name="笔记本";
 
      f1.price=10.0;
 
      //创建第2个商品
 
      FruitItem f2 = newFruitItem();
 
      f2.ID=1001;
 
      f2.name="西红柿";
 
      f2.price=2.0;
 
      //创建第3个商品
 
      FruitItem f3 = newFruitItem();
 
      f3.ID=1002;
 
      f3.name="辣条";
 
      f3.price=5.0;
 
      arry.add(f1);
 
      arry.add(f2);
 
      arry.add(f3);
 
     
 
   }
 
   /*
    * 主方法
    */
 
   public static void mainMenu(){
 
      System.out.println();
 
      System.out.println("==========超市管理系统===========");
 
      System.out.println("1:货物清单 2: 增加货物 3: 删除货物 4: 修改货物  5 退出");
 
      System.out.println("输出你要操作的编号");
 
   }
 
   /*
    * 查看方法
    */
 
   public static void show(ArrayList<FruitItem>arry){
 
      System.out.println();
 
      System.out.println("==========商品清单===============");
 
      System.out.println("商品编号         商品单价          商品名称");
 
      //遍历集合
 
      for(int i=0;i<arry.size();i++){
 
        FruitItem f = arry.get(i);
 
        System.out.println(f.ID+"    "+f.price+"     "+f.name);
 
      }
 
     
 
   }
 
   /*
    * 添加功能
    */
 
   public static void add(ArrayList<FruitItem>arry){
 
      System.out.println("选择的是添加商品功能");
 
      Scanner in =newScanner(System.in);
 
      System.out.println("输出商品编号ID");
 
      int ID = in.nextInt();
 
      System.out.println("输入商品单价");
 
      double price  = in.nextDouble();
 
      System.out.println("输入商品名称");
 
      String name  =in.next();
 
      //创建商品对象
 
      FruitItem f = newFruitItem();
 
      f.ID=ID;
 
      f.price=price;
 
      f.name=name;
 
      //添加到集合
 
      arry.add(f);
 
      System.out.println("添加成功");
 
   }
 
   /*
    *
    */
 
   public static void del(ArrayList<FruitItem>arry){
 
      System.out.println();
 
      System.err.println("选择的是删除功能");
 
      System.out.println("输出要删除的商品编号ID");
 
      Scanner in  = new Scanner(System.in);
 
      int id = in.nextInt();
 
      //遍历集合
 
      for(int i=0;i<arry.size();i++){
 
        FruitItem f = arry.get(i);
 
        //比对输入的与已经存在的
 
        if(f.ID==id){
 
           arry.remove(f);
 
           System.out.println("删除成功");
 
           //当遍历相等的时候直接结束方法
 
           return;
 
           //break;
 
        }
 
        //如果if不执行则  for循环结束打印
 
        System.out.println("不存在此商品");    
 
      }         
 
   }
 
   /*
    * 修改功能
    */
 
   public static void update(ArrayList<FruitItem>arry){
 
      System.out.println();
 
      System.out.println("选的是修改功能");
 
      System.out.println("输入你要修改的商品编号ID");
 
      Scanner in =newScanner(System.in);
 
      int id = in.nextInt();
 
      //遍历集合
 
      for(int i=0;i<arry.size();i++){
 
        FruitItem f =arry.get(i);
 
        if(f.ID==id){
 
           System.out.println("输入新的商品编号");
 
           f.ID=in.nextInt();
 
           System.out.println("输入商品单价");
 
           f.price=in.nextDouble();
 
           System.out.println("输入商品名称");
 
           f.name=in.next();
 
           System.out.println("修改成功");
 
           return;
 
        }
 
      }
 
      System.out.println("不存该商品");
 
   }
 
}

一定要看:

1.以上只是简单的对java 的基础知识复习,系统本身还有许多的问题!!

2.如何让数据保存下来,这个就涉及到java对数据库的操作,后面我会出一个关于java操作数据库的实战项目,关注我的公众号  程序三两行,里面会分享


相关文章
|
16天前
|
安全 Cloud Native Java
Java 模块化系统(JPMS)技术详解与实践指南
本文档全面介绍 Java 平台模块系统(JPMS)的核心概念、架构设计和实践应用。作为 Java 9 引入的最重要特性之一,JPMS 为 Java 应用程序提供了强大的模块化支持,解决了长期存在的 JAR 地狱问题,并改善了应用的安全性和可维护性。本文将深入探讨模块声明、模块路径、访问控制、服务绑定等核心机制,帮助开发者构建更加健壮和可维护的 Java 应用。
97 0
|
22天前
|
NoSQL Java 关系型数据库
超全 Java 学习路线,帮你系统掌握编程的超详细 Java 学习路线
本文为超全Java学习路线,涵盖基础语法、面向对象编程、数据结构与算法、多线程、JVM原理、主流框架(如Spring Boot)、数据库(MySQL、Redis)及项目实战等内容,助力从零基础到企业级开发高手的进阶之路。
121 1
|
2月前
|
Java 数据库 前端开发
分享44个java系统,总有一款适合您
分享44个微信小程序,总有一款适合您
43 0
|
2月前
|
消息中间件 Java Kafka
Java 事件驱动架构设计实战与 Kafka 生态系统组件实操全流程指南
本指南详解Java事件驱动架构与Kafka生态实操,涵盖环境搭建、事件模型定义、生产者与消费者实现、事件测试及高级特性,助你快速构建高可扩展分布式系统。
163 9
|
2月前
|
安全 Oracle Java
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
196 0
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
|
3月前
|
存储 Java 数据库连接
java 初学者必看的系统知识结构图详解
本文详解Java知识结构图,涵盖Java语言基础、JVM原理、集合框架、并发编程、网络通信及主流框架(如Spring Boot、MyBatis),并结合学生信息管理系统实例,帮助初学者构建完整知识体系,提升实战开发能力。
96 0
|
3月前
|
存储 Java 关系型数据库
Java Swing 开发的五星级酒店客房预订与管理系统源码
本文介绍了基于Java Swing的酒店管理系统开发方案。系统采用Java Swing构建GUI界面,结合MySQL数据库,实现预订管理、前台服务、客房管理、客户关系维护等功能模块。文章详细展示了登录界面、开房操作等核心功能的代码实现,包括数据验证和业务逻辑处理。该系统具有跨平台性,能有效提升酒店运营效率,为开发者提供GUI设计和数据库开发的实践案例。技术方案涵盖IntelliJ IDEA开发环境、Jform Designer插件辅助设计等工具链,适合中小型酒店管理需求。
152 0
|
4月前
|
NoSQL Java Shell
2025服务端java搭建篇:蜻蜓I即时通讯系统私有化部署深度指南-优雅草卓伊凡|麻子|贝贝
2025服务端java搭建篇:蜻蜓I即时通讯系统私有化部署深度指南-优雅草卓伊凡|麻子|贝贝
182 8
2025服务端java搭建篇:蜻蜓I即时通讯系统私有化部署深度指南-优雅草卓伊凡|麻子|贝贝
|
4月前
|
Java 调度 流计算
基于Java 17 + Spring Boot 3.2 + Flink 1.18的智慧实验室管理系统核心代码
这是一套基于Java 17、Spring Boot 3.2和Flink 1.18开发的智慧实验室管理系统核心代码。系统涵盖多协议设备接入(支持OPC UA、MQTT等12种工业协议)、实时异常检测(Flink流处理引擎实现设备状态监控)、强化学习调度(Q-Learning算法优化资源分配)、三维可视化(JavaFX与WebGL渲染实验室空间)、微服务架构(Spring Cloud构建分布式体系)及数据湖建设(Spark构建实验室数据仓库)。实际应用中,该系统显著提升了设备调度效率(响应时间从46分钟降至9秒)、设备利用率(从41%提升至89%),并大幅减少实验准备时间和维护成本。
262 0
|
4月前
|
监控 安全 Java
现代 Java 技术开发宠物管理系统实操案例解析
本文通过一个宠物管理系统项目,深入讲解Java中的封装、继承和多态特性。系统基于Java 8+开发,结合Stream API与Lambda表达式,展示现代Java技术的实际应用。封装部分使用Record类简化数据模型,继承设计通过抽象类与接口实现代码复用,多态则通过统一接口处理不同宠物行为。案例涵盖模板方法模式、策略模式等设计思想,并提供最佳实践建议,解决常见问题如继承滥用和类型转换异常。资源地址:[https://pan.quark.cn/s/14fcf913bae6](https://pan.quark.cn/s/14fcf913bae6)。
111 0