Java 商品入库系统 案例

测试类

package 练习.商品入库系统;

import java.util.ArrayList;
import java.util.Scanner;
public class Test {
    public static final int Enrool = 1;
    public static final int Search = 2;
    public static final int Delect = 3;
    public static final int Exit   = 4;
    public static void main(String[] args) {
        //创建手机类的商品集合
        ArrayList<Phone> goods = new ArrayList<>();
        // 用户的操作
        Choice(goods);

    }
    // 登记商品
    public static void Enroll(ArrayList<Phone> goods){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入商品品牌:");
        Phone goods1 = new Phone();
        String name = sc.next();
        goods1.setName(name);
        System.out.println("请输入商品价格:");
        double price = sc.nextDouble();
        goods1.setPrice(price);
        System.out.println("请输入商品型号:");
        String configuration = sc.next();
        goods1.setConfiguration(configuration);
        System.out.println("请输入商品库存数:");
        int storage = sc.nextInt();
        goods1.setStorage(storage);
        goods.add(goods1);
        System.out.println("添加成功");
    }
    // 查询商品
    public static void Search(ArrayList<Phone> goods){
        System.out.println("输入你要查询的商品品牌");
        Scanner sc = new Scanner(System.in);
        String name = sc.next();
        // 判断商品是否在仓库如果在就输出,不在就提示
        for (int i = 0; i < goods.size(); i++) {
            if(goods.get(i).getName().equals(name)){
                System.out.println("品牌:"+goods.get(i).getName()+"\t价格:"+goods.get(i).getPrice()+"元\t型号:"+goods.get(i).getConfiguration()+"\t\t剩余库存:"+goods.get(i).getStorage()+"部\t剩余库存总价值:"+goods.get(i).Sum()+"元");
            } else if (i== goods.size()-1) {
                System.out.println("仓库无此品牌商品");
            }
        }
    }
    // 删除商品
    public static void Delete(ArrayList<Phone> goods){
        Scanner sc = new Scanner(System.in);
        System.out.println("输入要删除的品牌");
        String name = sc.next();
        // 检索要删除的品牌的所有型号
        for (int i = 0; i < goods.size(); i++) {
            if (goods.get(i).getName().equals(name)) {
                System.out.println("要删除的品牌所有型号信息如下:");
                System.out.println("品牌:" + goods.get(i).getName() + "\t价格:" + goods.get(i).getPrice() + "元\t型号:" + goods.get(i).getConfiguration() + "\t\t剩余库存:" + goods.get(i).getStorage() + "部\t剩余库存总价值:" + goods.get(i).Sum() + "元");
            } else if (i == goods.size() - 1) {
                System.out.println("仓库无此品牌商品");
            }
        }
        // 删除相应的品牌的特定型号的数据
        System.out.println("输入要删除的型号:");
        String configuration = sc.next();
        for (int i = 0; i < goods.size(); i++) {
            if (goods.get(i).getConfiguration().equals(configuration)) {
                goods.remove(i);
                System.out.println("删除成功");
            } else if (i == goods.size() - 1) {
                System.out.println("仓库无此型号商品");
            }
        }
    }
    // 用户的操作
    public static void Choice(ArrayList<Phone> goods){
        Scanner sc = new Scanner(System.in);
        // 结束标志
        do {
            System.out.println("请选择你的操作:1.登记商品\t2.查询商品\t3.删除商品\t4.退出");
            int choice = sc.nextInt();
            switch (choice) {
                // 登记商品
                case Enrool:
                    Enroll(goods);
                    break;
                // 查询商品
                case Search:
                    Search(goods);
                    break;
                // 删除商品
                case Delect:
                    Delete(goods);
                    break;
                // 退出
                case Exit:
                    System.exit(0);
                default:
                    System.out.println("请输入1 2 3 4 执行操作");
            }
        }while(true);
    }
}

手机类

package 练习.商品入库系统;

import java.math.BigDecimal;

public class Phone {

    private String name;
    private double price;
    private String configuration;
    private int storage;
    private BigDecimal sum;

    public Phone(){}
    public Phone(String name, double price, String configuration, int storage, BigDecimal sum) {
        this.name = name;
        this.price = price;
        this.configuration = configuration;
        this.storage = storage;
        this.sum = sum;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public String getConfiguration() {
        return configuration;
    }

    public void setConfiguration(String configuration) {
        this.configuration = configuration;
    }

    public int getStorage() {
        return storage;
    }

    public void setStorage(int storage) {
        this.storage = storage;
    }

    public BigDecimal getSum() {
        return sum;
    }

    public void setSum(BigDecimal sum) {
        this.sum = sum;
    }

    public BigDecimal Sum(){
        BigDecimal sum = BigDecimal.valueOf(getPrice() * getStorage());
        setSum(sum.setScale(2, BigDecimal.ROUND_HALF_DOWN));
        return getSum();
    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/638800.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

交换机部分综合实验

实验要求 1.内网IP地址使用172.16.0.0/16 2.sw1和sW2之间互为备份; 3.VRRP/mstp/vlan/eth-trunk均使用; 4.所有pc均通过DHcP获取Ip地址; 5.ISP只配置IP地址; 6.所有电脑可以正常访问IsP路由器环回 实验拓扑 实验思路 1.给交换机创建vlan&#xff0c;并将接口划入vlan 2.在SW1和…

java实现List对象转geojson文本返回前端

1.业务需求 查询带有经纬度数据的list列表&#xff0c;将其转为geojson格式给前端。 2.GeoJson格式说明 GeoJSON是一种对各种地理数据结构进行编码的格式&#xff0c;基于Javascript对象表示法(JavaScript Object Notation, 简称JSON)的地理空间信息数据交换格式。GeoJSON对…

3D透视图模型转模型变形?---模大狮模型网

3D建模是数字艺术和设计领域中的重要技术&#xff0c;它可以为我们带来丰富多彩的视觉体验和创意表达。在本文中&#xff0c;我们将探讨一个引人注目的话题&#xff1a;3D透视图中模型转换是否会导致变形?通过深入探讨这个问题&#xff0c;我们希望能够帮助您更好地理解在3D建…

131. 面试中关于架构设计都需要了解哪些内容?

文章目录 一、社区系统架构组件概览1. 系统拆分2. CDN、Nginx静态缓存、JVM本地缓存3. Redis缓存4. MQ5. 分库分表6. 读写分离7. ElasticSearch 二、商城系统-亿级商品如何存储三、对账系统-分布式事务一致性四、统计系统-海量计数六、系统设计 - 微软1、需求收集2、顶层设计3、…

Zoho CRM怎么样?云衔科技为企业提供采购优惠!

企业对于客户关系管理&#xff08;CRM&#xff09;系统的需求日益增加&#xff0c;Zoho CRM作为一款备受赞誉的国际CRM服务提供商&#xff0c;凭借其全面的功能、出色的用户体验和卓越的性价比&#xff0c;成为了众多企业数字化转型的得力助手。 Zoho CRM是一款覆盖客户全生命…

【webrtc】m98:Call的创建及Call对音频接收处理

call中多個流共享相同的辅助组件 这几个是与外部共用的 线程传输send控制module 线程任务队列工厂call的辅助组件中各种统计以及接收测的cc是自己创建的 call自己的多个辅助组件是外部传递来的 call 创建多个接收流 这里用一个set 来保存所有指针,并没有要map的意思:

2024年贵州特岗教师招聘报名流程,速速查收哦!

2024年贵州特岗教师招聘报名流程&#xff0c;速速查收哦&#xff01;

Thingsboard规则链:Alarm Status Filter节点详解

在物联网(IoT)平台的世界里&#xff0c;数据处理与自动化响应是核心功能之一。作为其中的佼佼者&#xff0c;Thingsboard提供了一套强大的规则引擎系统&#xff0c;允许用户基于设备上报的数据构建复杂的自动化逻辑。在这套规则引擎中&#xff0c;Alarm Status Filter节点扮演了…

RedisTemplateAPI:List

文章目录 ⛄介绍⛄List的常见命令有⛄RedisTemplate API❄️❄️添加缓存❄️❄️将List放入缓存❄️❄️设置过期时间(单独设置)❄️❄️获取List缓存全部内容&#xff08;起始索引&#xff0c;结束索引&#xff09;❄️❄️从左或从右弹出一个元素❄️❄️根据索引查询元素❄…

AI巨头争相与Reddit合作:为何一个古老的论坛成为AI训练的“宝藏”?

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

RDDM论文阅读笔记

CVPR2024的残差去噪模型。把diffusion 模型的加噪过程分解为残差diffusion和noise diffusion&#xff0c;其中残差diffusion模拟从target image到degraded image的过程&#xff0c;而noise diffusion则是原来的diffusion过程&#xff0c;即从图片到高斯噪声的加噪过程。前者可以…

Error:(6, 43) java: 程序包org.springframework.data.redis.core不存在

目录 一、在做SpringBoot整合Redis的项目时&#xff0c;报错&#xff1a; 二、尝试 三、解决办法 一、在做SpringBoot整合Redis的项目时&#xff0c;报错&#xff1a; 二、尝试 给依赖加版本号&#xff0c;并且把版本换了个遍&#xff0c;也不行&#xff0c;也去update过ma…

hls.js实现分片播放视频

前言&#xff1a;hls.js官网&#xff1a;hls.js - npm 一、demo——在HTML中使用 <audio id"audio" controls></audio><script src"https://cdn.jsdelivr.net/npm/hls.jslatest"></script> <script>document.addEventList…

华为鸿蒙认证培训 | 讯方技术成为首批鸿蒙原生应用开发及培训服务商

5月20日&#xff0c;鸿蒙原生应用合作交流推介会-深圳站在深圳中洲万豪酒店隆重举行。讯方技术作为鸿蒙钻石服务商受邀参与此次活动&#xff0c;活动由讯方技术总裁刘国锋、执行副总裁刘铭皓、教学资源部部长张俊豪共同出席。 本次活动由深圳政府指导&#xff0c;鸿蒙生态官方…

AI边缘计算高效赋能,打造智慧社区安防管理解决方案

一、背景需求分析 随着信息技术的飞速发展&#xff0c;智慧社区建设已成为提升社区治理和服务水平的重要方向。通过深度整合大数据、云计算和人工智能等前沿技术&#xff0c;致力于构建信息化、智能化的新型社区治理体系。根据《关于深入推进智慧社区建设的意见》的指引&#…

泰克TBS2204B示波器如何设置存储时间?

示波器是电子测量领域中不可或缺的重要仪器之一。泰克公司生产的TBS2204B数字示波器是一款广受欢迎的中端市场产品&#xff0c;其中存储时间设置是用户需要掌握的关键操作之一。 TBS2204B示波器的存储时间设置涉及以下几个方面&#xff1a; 1. 存储时间基准 存储时间基准决定…

办公楼智慧公厕解决方案云平台,助力办公环境品质提升

在现代化的办公楼中&#xff0c;智慧公厕解决方案云平台正发挥着至关重要的作用&#xff0c;有力地助力办公环境品质的提升。 一、云平台优势 智慧公厕云平台具有高效的集成性&#xff0c;将各种设备和信息整合在一起&#xff0c;实现了统一管理和调度。云平台还可以和海量的设…

Threes 特效 炫酷传送门HTML5动画特效

基于Three.js的HTML5 3D动画&#xff0c;这个动画模拟了游戏中的一个炫酷的3D场景&#xff0c;支持360度视角查看&#xff0c;也支持鼠标滚轮进行缩放。画面中主要展现了一个游戏中传送门的效果&#xff0c;同时还有路两边的围栏、灯笼、石头&#xff0c;以及星光闪闪的萤火虫&…

第52期|GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以找…