基于JavaSE的手机库存管理系统

1、项目背景

基于JavaSE完成如下需求:

功能需求:

1、查询库存量

2、可以修改库存中不同品牌手机的个数

3、退出系统

实现步骤:

1、把List当做库房

2、把手机存放在库房中

3、使用封装的方法区操作仓库中的手机

2、项目知识点

面向对象

集合

循环

流程控制语句

方法

3、 代码

java 复制代码
//模板类
public class Phone {
    //属性
    String brand;//品牌
    double size;//尺寸
    int price;//价格
    int num;//库存量
}
java 复制代码
import java.util.ArrayList;
import java.util.Scanner;

/*
    手机库存管理系统
 */
public class Demo15 {
    public static void main(String[] args) {
       /*
            功能需求:
                1、查询库存量
                2、可以修改库存中不同品牌手机的个数
                3、退出系统
             实现步骤:
                1、把List当做库房
                2、把手机存放在库房中
                3、使用封装的方法区操作仓库中的手机
        */
        //创建仓库
        ArrayList<Phone> list = new ArrayList<>();
        //添加产品到仓库
        add(list);
        //选择功能
        action(list);
    }

    //功能分类
    public static void action(ArrayList<Phone> list) {
        while (true) {
            System.out.println("请用户选择需要的功能:");
            System.out.println("输入1,查看库存清单!");
            System.out.println("输入2,修改库存数量!");
            System.out.println("输入3,退出系统!");
            //调用方法:提供用户输入数字选择对应功能的方法
            switch (chooseAction()) {
                //查看库存
                case 1:
                    findAll(list);
                    break;
                case 2:
                    updateNum(list);
                    break;
                case 3:
                    System.out.println("退出成功!!!");
                    return;
            }
        }
    }

    //添加数据
    public static void add(ArrayList<Phone> list) {
        //创建产品
        Phone p1 = new Phone();
        Phone p2 = new Phone();
        Phone p3 = new Phone();
        Phone p4 = new Phone();
        p1.brand = "HUAWEI";
        p2.brand = "OPPO";
        p3.brand = "VIVO";
        p4.brand = "XIAOMI";
        p1.size = 12.5;
        p2.size = 12.4;
        p3.size = 12.3;
        p4.size = 12.2;
        p1.price = 10000;
        p2.price = 20000;
        p3.price = 30000;
        p4.price = 40000;
        p1.num = 2000;
        p2.num = 1000;
        p3.num = 2100;
        p4.num = 1100;
        //将产品添加到集合中
        list.add(p1);
        list.add(p2);
        list.add(p3);
        list.add(p4);
    }

    //查询数据
    public static void findAll(ArrayList<Phone> list) {
        //遍历集合
        for (Phone phone : list) {
            String brand = phone.brand;
            double size = phone.size;
            int price = phone.price;
            int num = phone.num;
            System.out.println(brand + "手机" + ",尺寸:" + size + ",价钱:" + price + ",库存数量:" + num);
        }
    }

    //修改数据
    public static void updateNum(ArrayList<Phone> list) {
        for (Phone phone : list) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入要修改:"+phone.brand+"的库存的值!");
            phone.num = scanner.nextInt();
            System.out.println("修改成功,请继续输入");
        }
        //再查询1次数
        findAll(list);
    }

    //功能选择
    public static int chooseAction() {
        System.out.println("请输入选择的功能序号!");
        Scanner sc = new Scanner(System.in);
        int anInt = sc.nextInt();
        return anInt;
    }
}

4、运行功能



相关推荐
是小崔啊15 分钟前
开源轮子 - EasyExcel01(核心api)
java·开发语言·开源·excel·阿里巴巴
黄公子学安全24 分钟前
Java的基础概念(一)
java·开发语言·python
liwulin050625 分钟前
【JAVA】Tesseract-OCR截图屏幕指定区域识别0.4.2
java·开发语言·ocr
jackiendsc30 分钟前
Java的垃圾回收机制介绍、工作原理、算法及分析调优
java·开发语言·算法
Yuan_o_30 分钟前
Linux 基本使用和程序部署
java·linux·运维·服务器·数据库·后端
Oneforlove_twoforjob34 分钟前
【Java基础面试题027】Java的StringBuilder是怎么实现的?
java·开发语言
数据小小爬虫1 小时前
利用Java爬虫获取苏宁易购商品详情
java·开发语言·爬虫
小汤猿人类1 小时前
nacos-服务发现注册
java·开发语言·服务发现
码农爱java1 小时前
设计模式--抽象工厂模式【创建型模式】
java·设计模式·面试·抽象工厂模式·原理·23种设计模式·java 设计模式
2401_854391081 小时前
SSM 架构中 JAVA 网络直播带货查询系统设计与 JSP 有效实现方法
java·开发语言·架构