Java實(shí)現(xiàn)商品的查找、添加、出庫(kù)、入庫(kù)操作完整案例
本文實(shí)例講述了Java實(shí)現(xiàn)商品的查找、添加、出庫(kù)、入庫(kù)操作。分享給大家供大家參考,具體如下:
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, "脈動(dòng)水蜜桃 ", 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) {
// 檢測(cè)匹配id
if (!map.containsKey(id)) {
// 沒(méi)有匹配id
return false;
} else {
// 有匹配的id
return true;
}
}
public static void add() {// 新增商品
System.out.println(">>新增商品");
System.out.print("請(qǐng)輸入商品編號(hào):");
int id = in.nextInt();
if (new TestGoods1().check(id)) {
// 有匹配的id
System.out.println("對(duì)不起,此商品已存在!");
} else {
System.out.print("請(qǐng)輸入商品名稱(chēng):");
String name = in.next();
System.out.print("請(qǐng)輸入商品單價(jià):");
double price = in.nextDouble();
System.out.print("請(qǐng)輸入商品單位:");
String uom = in.next();
System.out.print("請(qǐng)輸入商品庫(kù)存:");
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("商品編號(hào)\t商品名稱(chēng)\t\t商品單價(jià)\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() {// 入庫(kù)
System.out.println(">>商品入庫(kù)");
System.out.print("請(qǐng)輸入商品編號(hào):");
int id = in.nextInt();
for (int i = 0; i < map.size(); i++) {
if (new TestGoods1().check(id)) {
//有匹配的id
System.out.print("請(qǐng)輸入入庫(kù)數(shù)量:");
int count = in.nextInt();
int c = ((Goods1) map.get(id)).getBalance()+count;
((Goods1) map.get(id)).setBalance(c);
break;
}else{
//沒(méi)有匹配的id
System.out.println("對(duì)不起,此商品不存在!");
break;
}
}
}
public void outStore() {// 出庫(kù)
System.out.println(">>商品出庫(kù)");
System.out.print("請(qǐng)輸入商品編號(hào):");
int id = in.nextInt();
for (int i = 0; i < map.size(); i++) {
if (new TestGoods1().check(id)) {
//有匹配的id
System.out.print("請(qǐng)輸入出庫(kù)數(shù)量:");
int count = in.nextInt();
if(count>((Goods1)map.get(id)).getBalance()){
System.out.println("庫(kù)存不足,出庫(kù)失??!");
}else{
int c = ((Goods1) map.get(id)).getBalance()-count;
((Goods1) map.get(id)).setBalance(c);
break;
}
}else{
//沒(méi)有匹配的id
System.out.println("對(duì)不起,此商品不存在!");
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)容感興趣的讀者可查看本站專(zhuān)題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
基于Java實(shí)現(xiàn)簡(jiǎn)單的身材計(jì)算程序
這篇文章主要為大家詳細(xì)介紹了如何利用Java實(shí)現(xiàn)簡(jiǎn)單的身材計(jì)算程序,可以計(jì)算身體的體脂率以及BMI數(shù)值等,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-12-12
SpringMvc web.xml配置實(shí)現(xiàn)原理過(guò)程解析
這篇文章主要介紹了SpringMvc web.xml配置實(shí)現(xiàn)原理過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
Java集合框架之LinkedHashSet類(lèi)解讀
這篇文章主要介紹了Java集合框架之LinkedHashSet類(lèi)解讀,LinkedHashSet是HashSet的有序版本,它跨所有元素維護(hù)一個(gè)雙向鏈接的List,當(dāng)需要維護(hù)迭代順序時(shí),就使用這個(gè)類(lèi),當(dāng)遍歷HashSet時(shí),順序是不可預(yù)測(cè)的,需要的朋友可以參考下2023-09-09
舉例解析Java的設(shè)計(jì)模式編程中里氏替換原則的意義
這篇文章主要介紹了Java的設(shè)計(jì)模式中里氏替換原則的意義,文中舉例來(lái)說(shuō)明里氏替換原則中強(qiáng)調(diào)的繼承特性方面可能帶來(lái)的問(wèn)題,需要的朋友可以參考下2016-02-02
java程序代碼與文本對(duì)比實(shí)用工具簡(jiǎn)介
可以對(duì)兩段文本進(jìn)行對(duì)比,檢測(cè)/比較兩個(gè)文本有什么不同的差異,以便修改,常用于程序代碼,就是不需要人工查看,尤其是大文件,有幾百上千行的代碼,這時(shí)候就建議使用比較工具了,不用浪費(fèi)過(guò)多時(shí)間去尋找2021-09-09
SpringBoot如何使用ApplicationContext獲取bean對(duì)象
這篇文章主要介紹了SpringBoot 如何使用ApplicationContext獲取bean對(duì)象,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Spring Boot RestTemplate提交表單數(shù)據(jù)的三種方法
本篇文章主要介紹了Spring Boot RestTemplate提交表單數(shù)據(jù)的三種方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
IDEA連接MySQL數(shù)據(jù)庫(kù)的4種方法圖文教程
IDEA是一種流行的Java開(kāi)發(fā)工具,可以方便地連接MySQL,這篇文章主要給大家介紹了關(guān)于IDEA連接MySQL數(shù)據(jù)庫(kù)的4種方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12

