Java实现商品的查找、添加、出库、入库操作完整案例

本文实例讲述了Java实现商品的查找、添加、出库、入库操作。分享给大家供大家参考,具体如下:

package com.jredu.oopch08;
public class Goods1 {
    private int id;
    private String name;
    private double price;
    private String uom;
    private int balance;
    public Goods1(int id, String name, double price, String uom, int balance) {
        super();
        this.id = id;
        this.name = name;
        this.price = price;
        this.uom = uom;
        this.balance = balance;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    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 getUom() {
        return uom;
    }
    public void setUom(String uom) {
        this.uom = uom;
    }
    public int getBalance() {
        return balance;
    }
    public void setBalance(int balance) {
        this.balance = balance;
    }
}
package com.jredu.oopch08;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class TestGoods1 {
    private static Map map = new HashMap<>();
    private static Scanner in = new Scanner(System.in);
    public static void get() {
        Goods1 goods1 = new Goods1(1001, "脉动水蜜桃 ", 7.0, "1.5l", 50);
        Goods1 goods2 = new Goods1(1002, "桃李熟切片 ", 6.5, "400g", 10);
        Goods1 goods3 = new Goods1(1003, "吉白芝麻油 ", 9.5, "125ml", 20);
        Goods1 goods4 = new Goods1(1004, "雀巢奶咖啡", 1.5, "13g", 200);
        Goods1 goods5 = new Goods1(1005, "白玉黄豆芽 ", 2.4, "350g", 50);
        map.put(goods1.getId(), goods1);
        map.put(goods2.getId(), goods2);
        map.put(goods3.getId(), goods3);
        map.put(goods4.getId(), goods4);
        map.put(goods5.getId(), goods5);
    }
    public static boolean check(int id) {
        // 检测匹配id
        if (!map.containsKey(id)) {
            // 没有匹配id
            return false;
        } else {
            // 有匹配的id
            return true;
        }
    }
    public static void add() {// 新增商品
        System.out.println(">>新增商品");
        System.out.print("请输入商品编号:");
        int id = in.nextInt();
        if (new TestGoods1().check(id)) {
            // 有匹配的id
            System.out.println("对不起,此商品已存在!");
        } else {
            System.out.print("请输入商品名称:");
            String name = in.next();
            System.out.print("请输入商品单价:");
            double price = in.nextDouble();
            System.out.print("请输入商品单位:");
            String uom = in.next();
            System.out.print("请输入商品库存:");
            int balance = in.nextInt();
            Goods1 goods6 = new Goods1(id, name, price, uom, balance);
            map.put(goods6.getId(), goods6);
            System.out.println("新增成功!");
        }
    }
    public static void show() {// 显示商品信息
        System.out.println("商品编号\t商品名称\t\t商品单价\t单位\t数量");
        Set<Map.Entry<Integer, Goods1>> entrySet = map.entrySet();
        Iterator<Map.Entry<Integer, Goods1>> iter = entrySet.iterator();
        while (iter.hasNext()) {
            Map.Entry<Integer, Goods1> entry = iter.next();
            System.out.print(entry.getKey() + "\t");
            System.out.println(entry.getValue().getName() + "\t\t" + entry.getValue().getPrice() + "\t"
                    + entry.getValue().getUom() + "\t" + entry.getValue().getBalance());
        }
    }
    public static void inStore() {// 入库
        System.out.println(">>商品入库");
        System.out.print("请输入商品编号:");
      int id = in.nextInt();
      for (int i = 0; i < map.size(); i++) {
          if (new TestGoods1().check(id)) {
                //有匹配的id
                System.out.print("请输入入库数量:");
                int count = in.nextInt();
                    int c = ((Goods1) map.get(id)).getBalance()+count;
                    ((Goods1) map.get(id)).setBalance(c);
                    break;
            }else{
                //没有匹配的id
                System.out.println("对不起,此商品不存在!");
                break;
            }
        }
    }
    public void outStore() {// 出库
        System.out.println(">>商品出库");
        System.out.print("请输入商品编号:");
        int id = in.nextInt();
        for (int i = 0; i < map.size(); i++) {
          if (new TestGoods1().check(id)) {
                //有匹配的id
                System.out.print("请输入出库数量:");
                int count = in.nextInt();
                if(count>((Goods1)map.get(id)).getBalance()){
                    System.out.println("库存不足,出库失败!");
                }else{
                    int c = ((Goods1) map.get(id)).getBalance()-count;
                    ((Goods1) map.get(id)).setBalance(c);
                    break;
                }
            }else{
                //没有匹配的id
                System.out.println("对不起,此商品不存在!");
                break;
            }
        }
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        TestGoods1 t = new TestGoods1();
        t.get();
        //t.add();
    //    t.show();
    //    t.inStore();
        t.show();
        t.outStore();
        t.show();
    }
}

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

(0)

相关推荐

  • java使用hadoop实现关联商品统计

    最近几天一直在看Hadoop相关的书籍,目前稍微有点感觉,自己就仿照着WordCount程序自己编写了一个统计关联商品. 需求描述: 根据超市的销售清单,计算商品之间的关联程度(即统计同时买A商品和B商品的次数). 数据格式: 超市销售清单简化为如下格式:一行表示一个清单,每个商品采用 "," 分割,如下图所示: 需求分析: 采用hadoop中的mapreduce对该需求进行计算. map函数主要拆分出关联的商品,输出结果为 key为商品A,value为商品B,对于第一条三条结果拆分结

  • Java基于JDBC实现事务,银行转账及货物进出库功能示例

    本文实例讲述了Java基于JDBC实现事务,银行转账及货物进出库功能.分享给大家供大家参考,具体如下: 1. 转账业务 转账必须执行2个sql语句(update更新)都成功的情况下,提交事务,如果有一个失败,则2个都回滚事务 2. 事务应该具有4个属性:原子性.一致性.隔离性.持久性.这四个属性通常称为ACID特性. ① 原子性(atomicity).一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做. ② 一致性(consistency).事务必须是使数据库从一个一致性状

  • Java使用策略模式解决商场促销商品问题示例

    本文实例讲述了Java使用策略模式解决商场促销商品问题.分享给大家供大家参考,具体如下: 一 模式定义 策略模式:定义一系列的算法,将每一种算法封装起来并可以相互替换使用,策略模式让算法独立于使用它的客户应用而独立变化. 二 模式举例 1 模式分析 我们借用商场促销商品来说明这一模式. 2 策略模式静态类图 3 代码示例 3.1 创建策略接口一IStrategy package com.demo.strategy; /** * 策略接口 * * @author * */ public inter

  • java实现商品管理系统

    本文实例为大家分享了java实现商品管理系统的具体代码,供大家参考,具体内容如下 功能要求: 完成"小商品管理系统"的架构设计 要求:利用集合存储若干商品对象 ----小商品管理系统---- 0. 退出 1. 录入商品基本信息 2. 显示商品信息 3. 商品入库(增加数量) 4. 商品出库(减少数量) 5. 修改商品价格 6. 所有产品的总价格(单价*数量) import java.util.ArrayList; import java.util.Scanner; public cla

  • JavaWeb实现简单查询商品功能

    本文实例为大家分享了JavaWeb实现简单查询商品功能的具体代码,供大家参考,具体内容如下 CustomerServlet.java package com.subing.web; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet

  • java实现商品信息管理系统

    超市商品管理系统,供大家参考,具体内容如下 题目要求 超市中商品分为四类,分别是食品.化妆品.日用品和饮料.每种商品都包含商品名称.价格.库存量和生产厂家.品牌等信息.主要完成对商品的销售.统计和简单管理.这个题目相对简单,可以用一张表实现信息的保存和处理,因此不再给出数据库设计参考. 功能要求 (1)销售功能. 购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品的相关信息.如果有库存量,输入购买的数量,进行相应计算.如果库存量不够,给出提示信息,结束购买. (2)商品简单管理功能.

  • JAVAEE model1模型实现商品浏览记录(去除重复的浏览记录)(一)

    在javaee中Model1模型是以jsp页面为中心的,jsp既要对浏览器的request做出逻辑处理(使用javabean),访问数据库也要显示出相关的页面. 在model1模型中,没有servlet. Model1结果图如下: Model1的可维护性  可扩展性都是较差的  只适合小项目. 首先运行结果 goods.jsp <%@page import="entity.Items"%> <%@page import="dao.ItemsDao"

  • java实现超市商品库存管理平台

    本文实例为大家分享了java商品库存管理平台的具体代码,供大家参考,具体内容如下 1.完成超市商品初始化.创建商品,将商品添加到集合 2.显示来到超市能做的操作,也就是显示主菜单 3.根据接收到的功能选项,执行对应的功能 3.1.库存商品查询 3.2.添加新商品     3.3.删除商品 3.4.修改商品 3.5.退出系统,结束main方法的运行 4.循环,回到  2. 显示主菜单 以添加水果为例:对商品信息进行封装,编写FruitItem.java文件 public class FruitIt

  • java+mysql实现商品抢购功能

    我们希望有人购买时检查商品数量是否足够,如果库存有剩余那么就让用户购买成功,之后变更库存,假如用户排队挨个购买这样当然没有问题. 可是实际情况下,可能是用户多个用户同时来购买,同时检查库存,这是可能库存仅够其中一人购买,但是由于库存还没减掉,就会出现几个人都购买成功,然后库存减为负数出现超卖的情况.这在大量用户在同一时间点同时购买时极可能出现. 于是我们调整一下顺序,有用户购买时我们先减掉库存,那你肯定要问,怎么减?库存不够一个人的时候也减? 我们假设每份商品有一个唯一的购买码(开始抢购前预先生

  • Java实现商品的查找、添加、出库、入库操作完整案例

    本文实例讲述了Java实现商品的查找.添加.出库.入库操作.分享给大家供大家参考,具体如下: package com.jredu.oopch08; public class Goods1 { private int id; private String name; private double price; private String uom; private int balance; public Goods1(int id, String name, double price, Strin

  • Linux下为PHP添加扩展库的方法

    加上会出什么问题,不加会报什么错:所以在编译PHP的时候除了必要的目录指定,好多参数都没有加--等我在安装web程序的时候,才发现,很多参数是要加上的,但是我lnmp已经搭建好了,也不想重新编译,重新安装..于是就在网上找到了此文 一.添加FTP扩展 1.找到原来的源码包解压一下如:php-5.2.13进入到到FTP的扩展目录/root/lnmp/php-5.3.0/ext/ftp 2.调用phpize程序生成编译配置文件 复制代码 代码如下: root@dns ftp]# /usr/local

  • Android为TextView添加字体库和设置描边的方法

    一.使用系统自带的字体 开发Android的人大多都知道,Android里面对字体的支持少得可怜,默认情况下,TextView 的 typeface 属性支持 sans.serif和monospace 这三种字体,如果在没有指定字体的情况下,系统会使用 sans 作为文本显示的字体.但这三种字体只支持英文,也就是说只要你显示的文字是中文,无论你选择这三种字体中的哪一种,显示效果都是一样的. 1.在XML文件中设置 <!-- 使用默认的sans字体--> <TextView android

  • 解决tensorflow添加ptb库的问题

    ptb数据集是语言模型学习中应用最广泛的数据集,常用该数据集训练RNN神经网络作为语言预测,tensorflow对于ptb数据集的读取也定义了自己的函数库用于读取,在python 1.0定义了models文件用于导入ptb库函数,然而当python升级后,导入models文件时就会出现:ModuleNotFountError错误,这时需要靠自己下载导入,github上有人共享了models文件,但是不清楚如何安装,网上教程很多,但是安装了还有很多的错误,本人捣鼓了一天算将其成功导入,因此写成教程

  • Java实现商品管理系统代码实例讲解

    实现功能:商品查询,新增,更改价格,以及删除 首先是三个基本类的构建 商品类.账号类.品牌类 1.商品类 public class Goods { //商品信息:商品名称,商品价格,商品销量,商品种类,商品品牌对应编号 private String goodsName; private double goodsPrice; private int goodsSales; private String goodsCategories; private int brandsNum; private

  • Java String字符串内容实现添加双引号

    使用转义符 \ (反斜杠) String str1 = "我是\"中国\"工人"; String str2 = "\"我是中国工人\""; System.out.println(str1);//输出 我是"中国"工人 System.out.println(str2);//输出 "我是中国工人" 补充知识:Java-输出字符型变量时与""双引号拼接问题 我就废话不多说了

  • Java杂谈之如何优化写出漂亮高效的代码

    目录 命名中的不一致 方案中的不一致 代码中的不一致 总结 大部分程序员对于一致性本身的重要性是有认知的.但通常来说,大家理解的一致性都表现在比较大的方面,比如,数据库访问是叫 DAO还是叫 Mapper,Repository?在一个团队内,这是有统一标准的,但编码的层面上,要求往往就不是那么细致了.所以,我们才会看到在代码细节上呈现出了各种不一致.我们还是从一段具体的代码来分析问题. 命名中的不一致 有一次,我在代码评审中看到了这样一段代码: enum DistributionChannel

  • 利用Java实现在PDF中添加工具提示

    目录 导入jar包 添加工具提示ToolTip 本文,将介绍如何通过Java后端程序代码在PDF中创建工具提示.添加工具提示后,当鼠标悬停在页面上的元素时,将显示工具提示内容. 导入jar包 本次程序中使用的是 Free Spire.PDF for Java,具体导入jar文件的方法参考如下内容. 两种方法可导入jar到程序: 方法1. 通过Maven仓库下载导入.在pom.xml配置: <repositories> <repository> <id>com.e-ice

随机推荐