Java實現商品的查詢、新增、出庫、入庫操作完整案例
阿新 • • 發佈:2020-01-07
本文例項講述了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程式設計有所幫助。