基于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、运行功能



相关推荐
葡萄成熟时 !16 小时前
JAVA 常用API学习笔记
java·笔记·学习
Rain的Java大神之路17 小时前
介绍一下分布式事务
java·分布式·后端·spring·spring cloud·架构·springcloud
吴声子夜歌18 小时前
Java面试题——基础(一)
java·开发语言
南城以南溫暖如初14718 小时前
外卖CPS实战指南:从技术选型到运营落地全流程解析
java·spring boot·mysql·架构·vue
傻啦嘿哟19 小时前
英雄联盟皮肤爬虫:爬取全皮肤价格与特效,做比价工具
java·c++·爬虫
码匠许师傅20 小时前
【C++ 面试真题】24. 聊聊 C++ 的时间日期处理
java·c++·面试
mqiqe21 小时前
AgentScope Java 2.0 Agent 状态存储(AgentStateStore)深度解析:构建可恢复、可扩展的智能体运行时
java·运维·网络
zhifou12345621 小时前
java 17升级安装
java·开发语言
用户37215742613521 小时前
如何使用 Java 将 Markdown 转换为 PDF(含自定义设置)
java
用户3721574261351 天前
如何使用 Java 在 Word 文档中添加和删除水印:分步指南
java