Java實現(xiàn)商品的查找、添加、出庫、入庫操作完整案例
更新時間:2019年11月18日 11:58:37 作者:xuehyunyu
這篇文章主要介紹了Java實現(xiàn)商品的查找、添加、出庫、入庫操作,結(jié)合完整實例形式分析了java基于面向?qū)ο蟮纳唐沸畔⑻砑?、刪除、查找等相關操作技巧,需要的朋友可以參考下
本文實例講述了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相關內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O計入門與進階教程》、《Java數(shù)據(jù)結(jié)構與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
相關文章
J2EE Servlet上傳文件到服務器并相應顯示功能的實現(xiàn)代碼
這篇文章主要介紹了J2EE Servlet上傳文件到服務器,并相應顯示,在文中上傳方式使用的是post不能使用get,具體實例代碼大家參考下本文2018-07-07
springboot整合Nginx實現(xiàn)負載均衡反向代理的方法詳解
這篇文章主要給大家介紹了關于springboot整合Nginx實現(xiàn)負載均衡反向代理的相關資料,文中通過圖文以及實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2022-01-01
Mybatis?mysql模糊查詢方式(CONCAT多個字段)及bug
這篇文章主要介紹了Mybatis?mysql模糊查詢方式(CONCAT多個字段)及bug,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01

