小型超市,货物管理(ArrayList使用)

货物类:编号,名称,价格,库存

新增货物:如果超市没有该货物,则新增

进货:对已有货物,增加库存

修改:修改某个货物的价格,库存

下架:将某个货物删除

查询:打印目前超市在售的货物清单

 

测试类:

package com.zhiyou.shopping;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

import com.sweet.test.URLitem;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		List<GoodsManagement> goods = new ArrayList<>();
		boolean isOK = true;
		while (isOK) {
			int i = screen();
			if (i == 6) {
				isOK = false;
				System.out.println("谢谢使用!");
			}
			function(i,goods);
		}

	}
	
	public static int screen() {
		System.out.println("-------------------欢迎进入货物管理系统-----------------\n");
		System.out.println("                1.新增货物:如果超市没有该货物,则新增");
		System.out.println("                2.进货:对已有货物,增加库存");
		System.out.println("                3.修改:修改某个货物的价格,库存");
		System.out.println("                4.下架:将某个货物删除");
		System.out.println("                5.查询:打印目前超市在售的货物清单");
		System.out.println("                6.退出");
		System.out.println("\n------------------------------------------------------");
		System.out.println("请输入你的操作:");
		Scanner scanner = new Scanner(System.in);
		int i = scanner.nextInt();
		return i;
	}
	
	public static void function(int i,List<GoodsManagement> goods) {
		
		switch (i) {
		case 1:
			addGoods(goods);
			break;
		case 2:
			add(goods);
			break;
		case 3:
			reviseInfo(goods);
			break;
		case 4:
			deleteUrl(goods);
			break;
		case 5:
			queryInfo(goods);
			break;
		default:
			break;
		}
	}
	
	public static void addGoods(List<GoodsManagement> goods) {
		
		Scanner scanner = new Scanner(System.in);
		System.out.print("请输入编号:");
		String id = scanner.next();
		System.out.print("请输入名称:");
		String name = scanner.next();
		System.out.print("请输入价格:");
		double price = scanner.nextDouble();
		System.out.print("请输入库存:");
		int num = scanner.nextInt();
		
		Iterator<GoodsManagement> iterator = goods.iterator();
		if (goods.size() != 0) {
			boolean isOK = false;
			while (iterator.hasNext()) {
				GoodsManagement goodsManagement = iterator.next();
				if (goodsManagement.getName().equals(name)) {
					int num1 = goodsManagement.getNum() + num;
					goodsManagement.setNum(num1);
					isOK = true;
				}
			}
			if (isOK) {
				System.out.println("新增货物成功!");
			}else {
				goods.add(new GoodsManagement(id, name, price, num));
			}
			
			
		}else {
//			直接添加
			goods.add(new GoodsManagement(id, name, price, num));
		}
	}
	
	public static void add(List<GoodsManagement> goods) {
		
		Scanner scanner = new Scanner(System.in);
		System.out.print("请输入要增加库存的商品名称:");
		String name = scanner.next();
		System.out.print("要增加的库存量为:");
		int num = scanner.nextInt();
		boolean isOK = false;
		Iterator<GoodsManagement> iterator = goods.iterator();
		while (iterator.hasNext()) {
			GoodsManagement goodsManagement = iterator.next();
			if (goodsManagement.getName().equals(name)) {
				int num1 = goodsManagement.getNum() + num;
				goodsManagement.setNum(num1);
				isOK = true;
			}
		}
		if (isOK) {
			System.out.println("进货成功!");
		}else {
			System.out.println("没有该商品,进货失败!");
		}
	}
	
	public static void reviseInfo(List<GoodsManagement> goods) {
		
		if (goods.size() != 0) {
			Scanner scanner = new Scanner(System.in);
			System.out.print("请输入要修改的商品名称:");
			String name = scanner.next();
			System.out.print("请输入修改的价格:");
			double price = scanner.nextDouble();
			System.out.print("请输入修改的库存量为:");
			int num = scanner.nextInt();
			
			boolean isOK = false;
			
			Iterator<GoodsManagement> iterator = goods.iterator();
			while (iterator.hasNext()) {
				GoodsManagement goodsManagement = iterator.next();
				if (goodsManagement.getName().equals(name)) {
					goodsManagement.setPrice(price);
					goodsManagement.setNum(num);
					isOK = true;
				}
			}
			if (isOK) {
				System.out.println("修改"+name+"商品的价格和库存成功!");
			}else {
				System.out.println("修改失败!");
			}
		}else {
			System.out.println("商品为空,无法修改!");
		}
		
		
	}
	public static void deleteUrl(List<GoodsManagement> goods) {
		
		if (goods.size() != 0) {
			Scanner scanner = new Scanner(System.in);
			System.out.print("请输入要下架的商品名称:");
			String name = scanner.next();
			System.out.println("是否将该商品全部下架?还是只下架该商品中的过期商品? 1 全部下架  2下架过期商品:");
			int key = scanner.nextInt();
			Iterator<GoodsManagement> iterator = goods.iterator();
			if (key == 1) {
				while (iterator.hasNext()) {
					GoodsManagement goodsManagement = iterator.next();
					if (goodsManagement.getName().equals(name)) {
						iterator.remove();
						System.out.println("全部下架成功!");
					}
				}
			}else {
				System.out.println("请输入要下架的商品的数量:");
				int num = scanner.nextInt();
				while (iterator.hasNext()) {
					GoodsManagement goodsManagement = iterator.next();
					if (goodsManagement.getName().equals(name)) {
						int num1 = goodsManagement.getNum() - num;
						goodsManagement.setNum(num1);
						System.out.println("下架部分商品成功!");
					}
				}
			}
		}else {
			System.out.println("商品为空,无法下架!");
		}
		
		
	}
	public static void queryInfo(List<GoodsManagement> goods) {
		if (goods.size() != 0) {
			boolean isOK = false;
			Iterator<GoodsManagement> iterator = goods.iterator();
			while (iterator.hasNext()) {
				GoodsManagement goodsManagement = iterator.next();
				System.out.println(goodsManagement);
				isOK = true;
			}
			if (!isOK) {
				System.out.println("查询失败!");
			}
		}else {
			System.out.println("商品为空,无法展示!");
		}
		
		
	}
	
}
/**
 * 
 */
package com.zhiyou.shopping;

/**
 * @author Administrator
 *
 */
public class GoodsManagement {
	
	private String id;
	private String name;
	private double price;
	private int num;
	
	public GoodsManagement(String id, String name, double price, int num) {
		super();
		this.id = id;
		this.name = name;
		this.price = price;
		this.num = num;
	}

	public String getId() {
		return id;
	}

	public void setId(String 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 int getNum() {
		return num;
	}

	public void setNum(int num) {
		this.num = num;
	}

	@Override
	public String toString() {
		return "编号:" + id + "  名称:" + name + "  价格:" + price + "  库存:" + num + "\n";
	}


}

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/hellosweet1/article/details/81514974