Java 案例七 超市管理系统(商品清单,商品添加,商品删除,修改库存)

import java.util.ArrayList;
import java.util.Scanner;

/*
 * 超市管理系统
 * 实现的功能:
 * 		1.商品数据的初始化
 * 		2.用户的菜单选择
 * 		3.根据选择执行不同的功能
 * 			3.1	read	查看商品
 * 			3.2 Create	添加商品
 * 			3.3 Delete	删除商品
 * 			3.4 Update	修改商品
 * 			3.5 Exit  	退出系统
 * 		4循环回到2显示主菜单
 * 
 * 		所有功能,必须定义方法实现
 * 		主方法main 调用作用
 * 
 */
public class Shopp {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//创建一个Arraylist集合,存储商品类型,存储数据类型FruitItem类型
		ArrayList<FruitItem> array = new ArrayList<FruitItem>();
		//调用商品初始化方法,传递集合
		init(array);
		while(true){
			//调用菜单方法
			mainMenu();
			//调用用户选择序号方法
			int choose = chooseFunction();
			switch(choose){
			case 1:
				//调用1:货物清单
				showFruitList(array);
				break;
				
			case 2:
				//调用2:添加货物
				addFruit(array);
				break;
			
			case 3:
				//调用3:删除货物
				deleteFruit(array);
				break;
				
			case 4:
				//调用4:修改货物
				updataFruit(array);
				break;
				
			case 5:
				//调用5:退出
				return;
				
			default:
				System.out.println("没有此功能");
				break;
			}
		}
		
	}
	
	/*
	 * 定义方法,实现商品的删除功能
	 * 返回值:无
	 * 参数:集合
	 * 
	 * 提示用户选择的是修改功能
	 * 提示用户输入需要修改的商品编号
	 * 遍历集合,获取每个FruitItem变量
	 * 变量调用的ID属性,属性和用户输入的属性值
	 * 如果相同
	 * 		修改FruitItem中的属性值
	 * 		键盘输入
	 * 
	 */
	public static void  updataFruit(ArrayList<FruitItem> array){
		System.out.println("选择的是修改功能");
		System.out.println("请输入商品的编号");
		
		Scanner sc = new Scanner(System.in);
		int ID = sc.nextInt();
		
		//遍历集合,获取每个FruitItem变量
		for(int i = 0 ;i < array.size() ;i++){
			FruitItem item = array.get(i);
			//获取FruitItem的属性ID,和用户数的ID比较
			if(item.ID == ID){
				System.out.println("请输入新的商品号");
				item.ID = sc.nextInt();
				
				System.out.println("请输入新的商品名字");
				item.name = sc.next();
				
				System.out.println("请输入新的商品价格");
				item.price = sc.nextDouble();
				
				System.out.println("修改成功!");
				
				return;
			}
		}
		System.out.println("您输入的编号不存在");
	}
	
	
	/*
	 * 定义方法,实现商品的删除功能
	 * 返回值:无
	 * 参数:集合
	 * 
	 * 删除依靠的是商品的编号
	 * 提示用户选择的是删除功能
	 * 键盘输入商品编号
	 * 遍历集合,获取集合中的每个FruitItem变量
	 * 变量调用属性 ID和用户数的编号对比,相同就删除
	 */
	public static void deleteFruit(ArrayList<FruitItem> array){
		System.out.println("选择的是删除功能");
		System.out.println("请输入要删除商品的编号");
		Scanner sc = new Scanner(System.in);
		
		int ID = sc.nextInt();
		//遍历集合
		for(int i = 0; i < array.size(); i++){
			//获取到每个FruitItem
			FruitItem item = array.get(i);
			if(item.ID == ID){
				//移除集合找那个的元素
				//集合的方法remove实现
				array.remove(i);
				System.out.println("删除成功");
				return;
			}
		}
		System.out.println("您输入的编号不存在");
		
	}
	
	/*
	 * 定义方法,实现商品的添加功能
	 * 返回值:无
	 * 参数:集合
	 * 提示用户你选择的是添加商品的功能
	 * 
	 * 提示用户输入的是什么
	 * 
	 * 创建FruitItem变量,变量调用的属性
	 * 将输入的每个商品属性进行赋值
	 */
	public static void addFruit(ArrayList<FruitItem> array){
		System.out.println("选择的是添加商品功能");
		//创建Scanner变量
		Scanner  sc = new Scanner(System.in);
		System.out.println("请输入商品的编号");
		//输入商品编号
		int ID = sc.nextInt();
		System.out.println("请输入商品的名字");
		//输入商品的名字
		String name = sc.next();
		System.out.println("请输入商品的单价");
		//输入商品的单价
		double price = sc.nextDouble();
		//创建FruitItem变量
		FruitItem item = new FruitItem();
		//item.属性值	
		item.ID = ID;
		item.name = name;
		item.price = price;
		array.add(item);
		System.out.println("添加成功");
	}
	
	
	/*
	 * 定义方法,实现显示货物清单
	 * 返回值:无
	 * 参数:集合
	 * 遍历集合,获取集合中的每个FruitItem变量,变量调用属性
	 */
	public static void showFruitList(ArrayList<FruitItem> array){
		System.out.println();
		System.out.println("----------------商品库存清单----------------");
		System.out.println("商品编号	商品名称	商品单价");
		//遍历集合
		for(int i = 0;i < array.size();i++){
			//集合get方法,获取出每个FruitItem变量,可以使用FruitItem接受get结果
			FruitItem item = array.get(i);
			System.out.println(item.ID+"  "+item.name+"  "+item.price);
		}
	}
	
	/*
	 * 定义方法,实现接受用户的键盘输入
	 * 返回编号
	 */
	public static int chooseFunction(){
		Scanner sc = new Scanner(System.in);
		return sc.nextInt();	
	}

	/*
	 * 定义方法,实现主菜单
	 * 提示用户哪些选择哪个序号
	 * 返回值:无
	 */
	public static void mainMenu(){
		System.out.println("----------------欢迎光临ItCast超市----------------");
		System.out.println("1.货物清单 2.添加货物 3.删除货物 4.修改货物 5.退出");
		System.out.println("请输入您要操作的功能序号:");
	}
	
	
	/*
	 * 定义一个方法,实现商品数据的初始化
	 * 将一部分数据存集合中
	 * 返回值:无
	 * 方法名 :init
	 */
	private static void init(ArrayList<FruitItem> array) {
		//创建出多个FruitItem类型,并且属性赋值
		FruitItem f1 = new FruitItem();
		FruitItem f2 = new FruitItem();
		FruitItem f3 = new FruitItem();
		
		f1.name = "武当山核桃酥";
		f1.ID	=  9001;
		f1.price = 120;
		
		f2.name = "上刊杂粮牡丹饼";
		f2.ID	= 9002;
		f2.price = 20;
		
		f3.name = "新疆原产哈密瓜";
		f3.ID	= 9003;
		f3.price = 99;
		
		//创建的3个FruitItem类型变量,存储到集合中
		array.add(f1);
		array.add(f2);
		array.add(f3);
				
	}
	

}

还有个类:

/*
 * 新建一个水果类:
 * 	这个类包含的属性有:
 * 商品编号 	int
 * 商品名称	String
 * 商品单价	double
 * 库存量		int 
 * 总价		double
 * 	
 */
public class FruitItem {
	//商品编号
	int ID;
	//	商品名字
	String name;
	//商品价格
	double price;
	//商品数量
	int number;
	//总价
	double mount;
}

运行结果

猜你喜欢

转载自blog.csdn.net/u010104301/article/details/83655283
今日推荐