Java實現商品的查找、添加、出庫、入庫操作完整案例
更新時間:2019年11月18日 11:58:37 作者:xuehyunyu
這篇文章主要介紹了Java實現商品的查找、添加、出庫、入庫操作,結合完整實例形式分析了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節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
相關文章
SpringBoot如何使用ApplicationContext獲取bean對象
這篇文章主要介紹了SpringBoot 如何使用ApplicationContext獲取bean對象,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
Spring Boot RestTemplate提交表單數據的三種方法
本篇文章主要介紹了Spring Boot RestTemplate提交表單數據的三種方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03

