商品信息管理系统的实现,如图
商品信息管理系统的实现,如图
商品信息管理系统的实现,如图
引自免费微信小程序:皆我百晓生
为了实现这个商品信息管理系统,我们将按照所给的要求逐步创建类和方法。首先,我们从Goods
类开始,接着是CultureStore
类,最后编写测试用例确保所有的功能都能正常工作。
步骤1:创建 Goods 类
import java.util.Date;
public class Goods {
private String goodsCode;
private String productName;
private String supplier;
private double sellingPrice;
private long stockQuantity;
public Goods(String goodsCode, String productName, String supplier, double sellingPrice, long stockQuantity) {
this.goodsCode = goodsCode;
this.productName = productName;
this.supplier = supplier;
this.sellingPrice = sellingPrice;
this.stockQuantity = stockQuantity;
}
// Getters and Setters
public String getGoodsCode() { return goodsCode; }
public void setGoodsCode(String goodsCode) { this.goodsCode = goodsCode; }
public String getProductName() { return productName; }
public void setProductName(String productName) { this.productName = productName; }
public String getSupplier() { return supplier; }
public void setSupplier(String supplier) { this.supplier = supplier; }
public double getSellingPrice() { return sellingPrice; }
public void setSellingPrice(double sellingPrice) { this.sellingPrice = sellingPrice; }
public long getStockQuantity() { return stockQuantity; }
public void setStockQuantity(long stockQuantity) { this.stockQuantity = stockQuantity; }
// Print method
public void print() {
System.out.println(" Goods Code: " + goodsCode);
System.out.println(" Product Name: " + productName);
System.out.println(" Supplier: " + supplier);
System.out.println(" Selling Price: " + sellingPrice);
System.out.println(" Stock Quantity: " + stockQuantity);
}
}
步骤2:创建 CultureStore 类
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
public class CultureStore {
private List<Goods> goodsList;
public CultureStore() {
this.goodsList = new ArrayList<>();
}
// AddGood method
public void addGood(Goods goods) {
goodsList.add(goods);
}
// DelGood method
public boolean delGood(String goodsCode) {
for (int i = 0; i < goodsList.size(); i++) {
if (goodsList.get(i).getGoodsCode().equals(goodsCode)) {
goodsList.remove(i);
return true;
}
}
return false;
}
// UpdGood method
public boolean updGood(String oldGoodsCode, Goods newGoods) {
for (int i = 0; i < goodsList.size(); i++) {
if (goodsList.get(i).getGoodsCode().equals(oldGoodsCode)) {
goodsList.set(i, newGoods);
return true;
}
}
return false;
}
// QueryGood method
public Goods queryGood(String goodsCode) {
for (Goods goods : goodsList) {
if (goods.getGoodsCode().equals(goodsCode)) {
return goods;
}
}
return null;
}
// SaleGood method
public double saleGood(String goodsCode, int quantity) {
Goods goods = queryGood(goodsCode);
if (goods != null && quantity > 0 && quantity <= goods.getStockQuantity()) {
goods.setStockQuantity(goods.getStockQuantity() - quantity);
return goods.getSellingPrice() * quantity;
} else {
System.out.println("Invalid quantity or out of stock");
return 0;
}
}
// StatGood method
public long totalQuantity() {
long sum = 0;
for (Goods goods : goodsList) {
sum += goods.getStockQuantity();
}
return sum;
}
public double totalValue() {
double sum = 0;
for (Goods goods : goodsList) {
sum += goods.getSellingPrice() * goods.getStockQuantity();
}
return sum;
}
public long countByCodes(List<String> codes) {
long count = 0;
for (String code : codes) {
for (Goods goods : goodsList) {
if (goods.getGoodsCode().equals(code)) {
count++;
}
}
}
return count;
}
public double valueByCodes(List<String> codes) {
double sum = 0;
for (String code : codes) {
for (Goods goods : goodsList) {
if (goods.getGoodsCode().equals(code)) {
sum += goods.getSellingPrice() * goods.getStockQuantity();
}
}
}
return sum;
}
// Print method
public void print() {
for (Goods goods : goodsList) {
goods.print();
}
}
}
步骤3:测试用例
public class Main {
public static void main(String[] args) {
CultureStore store = new CultureStore();
// Adding goods
store.addGood(new Goods("G001", "Pen", "Supplier A", 10.5, 100));
store.addGood(new Goods("G002", "Notebook", "Supplier B", 25.0, 50));
// Testing methods
store.print();
// SaleGood
double saleAmount = store.saleGood("G001", 20);
System.out.println("Sale Amount: " + saleAmount);
// StatGood
System.out.println("Total Quantity: " + store.totalQuantity());
System.out.println("Total Value: " + store.totalValue());
// DelGood
store.delGood("G002");
// UpdGood
Goods updatedGoods = new Goods("G001", "Pen Pro", "Supplier A", 9.99, 80);
store.updGood("G001", updatedGoods);
// QueryGood
Goods queriedGoods = store.queryGood("G001");
queriedGoods.print();
// Test print method
store.print();
// Test StatGood with specific codes
List<String> codes = new ArrayList<>();
codes.add("G001");
System.out.println("Count by Codes: " + store.countByCodes(codes));
System.out.println("Value by Codes: " + store.valueByCodes(codes));
}
}
这个示例代码实现了商品信息管理系统的基本需求。你可以根据实际需求调整和扩展它。注意,这里没有实现中文大写的金额转换,因为Java标准库不支持直接将double类型转换为中文大写数字,你需要引入第三方库或者自己编写一个转换器类来实现这一功能。如果你需要这部分的代码,我可以提供一个简单的实现。