Java實現(xiàn)商品的查找、添加、出庫、入庫操作完整案例
本文實例講述了Java實現(xiàn)商品的查找、添加、出庫、入庫操作。分享給大家供大家參考,具體如下:
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數(shù)量"); 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("請輸入入庫數(shù)量:"); 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("請輸入出庫數(shù)量:"); 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相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
SpringMvc web.xml配置實現(xiàn)原理過程解析
這篇文章主要介紹了SpringMvc web.xml配置實現(xiàn)原理過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08舉例解析Java的設(shè)計模式編程中里氏替換原則的意義
這篇文章主要介紹了Java的設(shè)計模式中里氏替換原則的意義,文中舉例來說明里氏替換原則中強調(diào)的繼承特性方面可能帶來的問題,需要的朋友可以參考下2016-02-02SpringBoot如何使用ApplicationContext獲取bean對象
這篇文章主要介紹了SpringBoot 如何使用ApplicationContext獲取bean對象,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11Spring Boot RestTemplate提交表單數(shù)據(jù)的三種方法
本篇文章主要介紹了Spring Boot RestTemplate提交表單數(shù)據(jù)的三種方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03IDEA連接MySQL數(shù)據(jù)庫的4種方法圖文教程
IDEA是一種流行的Java開發(fā)工具,可以方便地連接MySQL,這篇文章主要給大家介紹了關(guān)于IDEA連接MySQL數(shù)據(jù)庫的4種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12