电商系统的商品库存管理
程序员文章站
2022-04-14 21:37:05
...
基于数组+面向对象的商品信息管理系统
面向对象程序设计
完成一个电商系统的商品库存管理的系统
包含两个类:
-
- 商品类(编号,名称,类别,单价,库存量,生产地)
-
- 商品管理类
管理类中需完成功能:
-
- 商品添加
-
- 查询指定价格范围的商品并显示
-
- 根据编号查询商品信息并显示
-
- 根据编号修改商品的单价和库存
-
- 显示所有商品信息
-
- 查询所有库存量低于指定数的商品信息
功能实现原理
定义一个商品(product)类,定义商品的属性,包含编号(pno)、名称(pname)、类别(type)、单价(price)、库存量(stock)和生产地(place),生成构造器,set与get方法,并定义一个显示(details)方法。代码如下:
public class Product {
private int pno;
private String pname;
private String type;
private double price;
private double stock; //库存
private String place;
public Product(int pno, String pname, String type, double price, double stock, String place) {
super();
this.pno = pno;
this.pname = pname;
this.type = type;
this.price = price;
this.stock = stock;
this.place = place;
}
public int getPno() {
return pno;
}
public void setPno(int pno) {
this.pno = pno;
}
public String getPname() {
return pname;
}
public void setPname(String pname) {
this.pname = pname;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public double getStock() {
return stock;
}
public void setStock(double stock) {
this.stock = stock;
}
public String getPlace() {
return place;
}
public void setPlace(String place) {
this.place = place;
}
public void details() {
System.out.println(pno + "\t" + pname + "\t" + type + "\t" + price + "\t" + stock + "\t" + place);
}
}
定义一个商品管理类(ProductManager),实现商品添加,查询指定价格范围的商品并显示,根据编号查询商品信息并显示,根据编号修改商品的单价和库存,显示所有商品信息,查询所有库存量低于指定数的商品信息的功能,代码如下:
public class ProductManager {
private Product[] list;
private int index;
public ProductManager() {
list = new Product[100];
}
/**商品添加*/
public void add(Product p) {
list[index++] = p;
}
/**查询指定价格范围的商品并展示*/
public void search(int price1,int price2) {
for (int i = 0; i < list.length; i++) {
Product p = list[i];
if(p != null) {
if(p.getPrice() >= price1 && p.getPrice() <= price2) {
p.details();
}
}
}
}
/**根据编号查询商品信息并显示*/
public void findByPno(int pno) {
for (int i = 0; i < list.length; i++) {
Product p = list[i];
if(p != null && p.getPno() == pno) {
p.details();
}
}
}
/**根据编号修改商品的单价和内存*/
public void alterByPno(int pno,double price,double stock) {
for (int i = 0; i < list.length; i++) {
Product p = list[i];
if(p != null && p.getPno() == pno) {
p.setPrice(price);
p.setStock(stock);
p.details();
}
}
}
/**显示所有商品信息*/
public void showAll() {
for (int i = 0; i < list.length; i++) {
Product p = list[i];
if(p != null ) {
p.details();
}
}
}
/**查询所有库存量低于指定数的商品信息*/
public void showLowStock(int stock) {
for (int i = 0; i < list.length; i++) {
Product p = list[i];
if(p != null && p.getStock() < stock) {
p.details();
}
}
}
}
定义一个商品测试(ProductTest)类 ,并对功能的实现进行测试:
public class ProductTest {
public static void main(String[] args) {
ProductManager pm = new ProductManager();
pm.add(new Product(001, "邹腰子", "补品", 39.9, 700, "荆州"));
pm.add(new Product(002, "邹蹄子", "肉类", 60, 600, "洪湖"));
pm.add(new Product(003, "邹耳朵", "凉菜", 39.9, 500, "孝感"));
pm.add(new Product(004, "邹肉", "肉类", 25, 1000, "黄冈"));
pm.add(new Product(005, "邹大肠", "特殊肉类", 18, 580, "襄阳"));
System.out.println("查询指定价格范围内的商品==========");
pm.search(30, 50);
System.out.println("根据编号查询商品信息==============");
pm.findByPno(005);
System.out.println("根据编号修改商品单价和库存========");
pm.alterByPno(001, 44.9, 900);
System.out.println("显示所有商品信息=================");
pm.showAll();
System.out.println("查询所有库存量低于指定数的商品=====");
pm.showLowStock(700);
}
}
实现效果如下:
下一篇: iOS进阶面试题