小编给大家分享一下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如何实现商品的查找、添加、出库、入库操作”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。