java实战项目超市管理系统控制台版

简介: java实战项目超市管理系统控制台版

:开发目标

通过简单的控制台版本的超市管理系统对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 = new Scanner(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 = new FruitItem();
      f1.ID=1000;
      f1.name="笔记本";
      f1.price=10.0;
      //创建第2个商品
      FruitItem f2 = new FruitItem();
      f2.ID=1001;
      f2.name="西红柿";
      f2.price=2.0;
      //创建第3个商品
      FruitItem f3 = new FruitItem();
      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 =new Scanner(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 = new FruitItem();
      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 =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){
           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("不存该商品");
   }
}

 

三运行结果

四缺点

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

更多java干货  关注微信公众号  java一号  回复 java项目 即可!


相关文章
|
Java 关系型数据库 数据库
Java 项目实战教程从基础到进阶实战案例分析详解
本文介绍了多个Java项目实战案例,涵盖企业级管理系统、电商平台、在线书店及新手小项目,结合Spring Boot、Spring Cloud、MyBatis等主流技术,通过实际应用场景帮助开发者掌握Java项目开发的核心技能,适合从基础到进阶的学习与实践。
1626 4
|
缓存 前端开发 Java
基于最新 Java 技术栈的在线任务管理系统开发实战详解
本项目基于最新Java技术栈开发在线任务管理系统,涵盖任务创建、分配、跟踪、统计等功能。采用Spring Boot 3.2.x、React 18、PostgreSQL 16等主流技术,详解项目架构设计、核心功能实现及部署流程,助力掌握现代Java全栈开发技能。
629 6
|
Java API Maven
2025 Java 零基础到实战最新技术实操全攻略与学习指南
本教程涵盖Java从零基础到实战的全流程,基于2025年最新技术栈,包括JDK 21、IntelliJ IDEA 2025.1、Spring Boot 3.x、Maven 4及Docker容器化部署,帮助开发者快速掌握现代Java开发技能。
1908 1
|
11月前
|
安全 Java 开发者
告别NullPointerException:Java Optional实战指南
告别NullPointerException:Java Optional实战指南
409 119
|
12月前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
1321 0
|
12月前
|
JavaScript Java 大数据
基于JavaWeb的销售管理系统设计系统
本系统基于Java、MySQL、Spring Boot与Vue.js技术,构建高效、可扩展的销售管理平台,实现客户、订单、数据可视化等全流程自动化管理,提升企业运营效率与决策能力。
|
12月前
|
Java 开发者
Java并发编程:CountDownLatch实战解析
Java并发编程:CountDownLatch实战解析
668 100
|
数据采集 JSON Java
Java爬虫获取1688店铺所有商品接口数据实战指南
本文介绍如何使用Java爬虫技术高效获取1688店铺商品信息,涵盖环境搭建、API调用、签名生成及数据抓取全流程,并附完整代码示例,助力市场分析与选品决策。
|
11月前
|
移动开发 监控 小程序
java家政平台源码,家政上门清洁系统源码,数据多端互通,可直接搭建使用
一款基于Java+SpringBoot+Vue+UniApp开发的家政上门系统,支持小程序、APP、H5、公众号多端互通。涵盖用户端、技工端与管理后台,支持多城市、服务分类、在线预约、微信支付、抢单派单、技能认证、钱包提现等功能,源码开源,可直接部署使用。
820 24
|
11月前
|
设计模式 消息中间件 传感器
Java 设计模式之观察者模式:构建松耦合的事件响应系统
观察者模式是Java中常用的行为型设计模式,用于构建松耦合的事件响应系统。当一个对象状态改变时,所有依赖它的观察者将自动收到通知并更新。该模式通过抽象耦合实现发布-订阅机制,广泛应用于GUI事件处理、消息通知、数据监控等场景,具有良好的可扩展性和维护性。
746 8