Java基础 day08笔记

1、超市库存管理系统

###1超市管理系统功能介绍
* A:超市管理系统功能介绍
* a: 显示主菜单

		============欢迎光临ItCast超市============
		1: 货物 清单   2: 添加货物   3: 删除货物   4: 修改货物  5: 退出
		请您输入要操作的功能序号
		
	* b: 货物清单
	
		输入1:货物清单
		================商品库存清单================
		商品编号         商品名称                商品单价
		9527   			少林寺酥饼核桃        	   12.7
		9008   			尚康杂粮牡丹饼       	   5.6
		9879   			新疆原产哈密瓜             599.6
		
	* c: 添加新货物
	
		输入2:添加新货物	
		
		请输入新商品的编号:9523
		请输入新商品的名字:斯柯达苹果醋
		请输入新商品的单价:19.9
		商品添加成功
		
	* d: 删除货物
	
		输入3:删除货物
		
		选择的是删除功能
		请输入商品的编号:9523
		货物信息删除完毕
		
	* e: 修改货物
	
		输入4:修改货物
		
		选择的是修改功能
		请输入您要修改的商品的编号:9527
		输入新的商品编号:100
		输入新的商品名字:味道好凤梨干
		输入新的商品价格:6.5
		商品修改成功
	* f: 输入5:退出系统

###2超市管理系统案例分析
* A: 超市管理系统案例分析
* 完成超市商品初始化。创建商品,将商品添加到集合
 * 显示来到超市能做的操作,也就是显示主菜单
 * 根据接收到的功能选项,执行对应的功能
 * 库存货物查询
 * 添加新货物
 * 删除货物
 * 修改货物
 * 退出系统,结束main方法的运行
 * 循环,回到 2.显示主菜单

###3自定义商品类
* A: 自定义商品类
* a: 目的
* 每种库存商品都拥有多项商品信息,为了方便管理每种商品的信息,我们对商品信息进行封装,编写FruitItem.java文件
* b:案例代码
public class FruitItem {
int ID; //商品编号
String name; //商品名称
double price; //商品单价
double number; //商品数量
double money; //商品金额
}
* 补充
* 上述代码中,对商品信息(编号、名称、单价、数量、金额)进行了封装。这样做的好处在于以后只要找到这个商品,就能够知道该商品的每项信息了。

###4初始化商品属性
* A: 初始化商品属性
* a: 案例代码

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

			public static void main(String[] args) {
				//创建ArrayList集合,存储商品类型,存储数据类型FruitItem类型
				ArrayList<FruitItem> array = new ArrayList<FruitItem>();
				//调用商品初始化方法,传递集合
				init(array);
				
				}
			}	
			/*
			 * 定义方法,实现商品数据的初始化
			 * 先将一部分数据,存储集合中
			 * 返回值: 无
			 * 参数 : 集合
			 * 方法名: init
			 */
			public static void init(ArrayList<FruitItem> array){
				//创建出多个FruitItem类型,并且属性赋值
				FruitItem f1 = new FruitItem();
				f1.ID = 9527;
				f1.name = "少林寺酥饼核桃";
				f1.price = 12.7;
				
				FruitItem f2 = new FruitItem();
				f2.ID = 9008;
				f2.name = "尚康杂粮牡丹饼";
				f2.price = 5.6;
				
				FruitItem f3 = new FruitItem();
				f3.ID = 9879;
				f3.name = "新疆原产哈密瓜";
				f3.price = 599.6;
				
				//创建的3个FruitItem类型变量,存储到集合中
				array.add(f1);
				array.add(f2);
				array.add(f3);
			}
			
		}

###5主菜单功能
* A: 主菜单功能
* a: 案例代码

		import java.util.ArrayList;
		import java.util.Scanner;
		/*
		 *   超市管理系统主
		 *   实现:
		 *     1. 商品数据的初始化
		 *     2. 用户的菜单选择
		 *     3. 根据选择执行不同的功能
		 *       3.1 Read    查看商品
		 *       3.2 Create  添加商品
		 *       3.3 Delete  删除商品
		 *       3.4 Update  修改商品
		 *       
		 *       
		 *   所有功能 ,必须定义方法实现
		 *   主方法main  调用作用
		 */
		public class Shopp {

			public static void main(String[] args) {
				//创建ArrayList集合,存储商品类型,存储数据类型FruitItem类型
				ArrayList<FruitItem> array = new ArrayList<FruitItem>();
				//调用商品初始化方法,传递集合
				init(array);
				while(true){
					//调用菜单方法
					mainMenu();			
				}
			}	
			/*
			 * 定义方法,实现主菜单
			 * 提示用户哪些选择 让选择序号
			 * 返回值: 无
			 * 参数: 无
			 */
			public static void mainMenu(){
				System.out.println();
				System.out.println("============欢迎光临ItCast超市============");
				System.out.println("1: 货物 清单   2: 添加货物   3: 删除货物   4: 修改货物  5: 退出");
				System.out.println("请您输入要操作的功能序号");
			}
			
			/*
			 * 定义方法,实现商品数据的初始化
			 * 先将一部分数据,存储集合中
			 * 返回值: 无
			 * 参数 : 集合
			 * 方法名: init
			 */
			public static void init(ArrayList<FruitItem> array){
				//创建出多个FruitItem类型,并且属性赋值
				FruitItem f1 = new FruitItem();
				f1.ID = 9527;
				f1.name = "少林寺酥饼核桃";
				f1.price = 12.7;
				
				FruitItem f2 = new FruitItem();
				f2.ID = 9008;
				f2.name = "尚康杂粮牡丹饼";
				f2.price = 5.6;
				
				FruitItem f3 = new FruitItem();
				f3.ID = 9879;
				f3.name = "新疆原产哈密瓜";
				f3.price = 599.6;
				
				//创建的3个FruitItem类型变量,存储到集合中
				array.add(f1);
				array.add(f2);
				array.add(f3);
			}
			
		}				

###6用户选择功能
* A: 用户选择功能
* a: 案例代码

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

			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: 修改货物
						updateFruit(array);
					break;
					
					case 5:
						return ;

					default:
						System.out.println("输入的序号没有");
						break;
					}
				}
			}	
			/*
			 *  定义方法,实现接受用户的键盘输入
			 *  返回编号
			 */
			public static int chooseFunction(){
				Scanner sc = new Scanner(System.in);
				return sc.nextInt();
			}
			
			/*
			 * 定义方法,实现主菜单
			 * 提示用户哪些选择 让选择序号
			 * 返回值: 无
			 * 参数: 无
			 */
			public static void mainMenu(){
				System.out.println();
				System.out.println("============欢迎光临ItCast超市============");
				System.out.println("1: 货物 清单   2: 添加货物   3: 删除货物   4: 修改货物  5: 退出");
				System.out.println("请您输入要操作的功能序号");
			}
			
			/*
			 * 定义方法,实现商品数据的初始化
			 * 先将一部分数据,存储集合中
			 * 返回值: 无
			 * 参数 : 集合
			 * 方法名: init
			 */
			public static void init(ArrayList<FruitItem> array){
				//创建出多个FruitItem类型,并且属性赋值
				FruitItem f1 = new FruitItem();
				f1.ID = 9527;
				f1.name = "少林寺酥饼核桃";
				f1.price = 12.7;
				
				FruitItem f2 = new FruitItem();
				f2.ID = 9008;
				f2.name = "尚康杂粮牡丹饼";
				f2.price = 5.6;
				
				FruitItem f3 = new FruitItem();
				f3.ID = 9879;
				f3.name = "新疆原产哈密瓜";
				f3.price = 599.6;
				
				//创建的3个FruitItem类型变量,存储到集合中
				array.add(f1);
				array.add(f2);
				array.add(f3);
			}
			
		}

###7商品的清单功能
* A: 商品的清单功能
* a: 案例代码(显示商品清单的showFruitList(ArrayList)方法的代码如下)
/*
* 定义方法,实现显示货物清单功能
* 返回值: 无
* 参数: 集合
* 遍历集合,获取集合中的每个FruitItem变量,变量,调用属性
/
public static void showFruitList(ArrayList 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);
//变量item调用类中属性
System.out.println(item.ID+" “+item.name+” "+item.price);
}
}
###8商品的添加功能
* A: 商品的添加功能
* a: 案例代码(商品添加功能的addFruit(ArrayList)方法的代码如下)
/

* 定义方法,实现商品的添加功能
* 返回值:无
* 参数: 集合
* 提示用户选择的是添加商品的功能
*
* 提示用户输入的是什么
*
* 创建FruitItem变量,变量调用的属性
* 将输入的每个商品属性进行赋值
/
public static void addFruit(ArrayList array){
System.out.println(“选择的是添加商品功能”);
//创建Scanner变量
Scanner sc = new Scanner(System.in);
System.out.print(“请输入新商品的编号:”);
//输入商品的编号
int ID = sc.nextInt();
//输入商品的名字
System.out.print(“请输入新商品的名字:”);
String name = sc.next();
//输入商品的单价
System.out.print(“请输入新商品的单价:”);
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(“商品添加成功”);
}
###9商品的删除功能
* A: 商品的删除功能(删除商品deleteFruit(ArrayList)方法的代码如下)
* a: 案例代码
/

* 定义方法,实现商品的删除功能
* 返回值: 无
* 参数: 集合
*
* 删除依靠的是商品的编号
* 提示用户选择的是删除功能
* 键盘输入商品的编号
* 遍历集合,获取集合中的每个FruitItem变量
* 变量调用属性 ID, 和用户的输入的编号,对比,相同就删除
*/
public static void deleteFruit(ArrayList array){
System.out.println(“选择的是删除功能”);
System.out.print(“请输入商品的编号:”);
Scanner sc = new Scanner(System.in);

			int ID = sc.nextInt();
			//遍历集合
			for(int i = 0 ; i < array.size(); i++){
				//获取到每个FruitItem变量
				FruitItem item = array.get(i);
				//变量,调用属性ID,和用户输入的编号比较
				if( item.ID == ID){
					//移除集合中的元素
					//集合的方法remove实现
					array.remove(i);
					System.out.println("删除成功");
					return;
				}
			}
			System.out.println("你输入的编号不存在");
		}

###8商品的修改功能

* A: 商品的修改功能
	* a: 案例代码(修改商品updateFruit(ArrayList<FruitItem>)方法的代码如下)
		/*
		 *  定义方法,实现商品的修改功能
		 *  返回值: 无
		 *  参数: 集合
		 *  
		 *  提示用户选择的是修改功能
		 *  提示用户输入需要修改的商品编号
		 *  遍历集合,获取每个FruitItem变量
		 *  变量调用ID属性,属性和用户输入的编号比较
		 *  如果相同:
		 *    修改调FruitItem中的属性值
		 *    键盘输入
		 */
		public static void updateFruit(ArrayList<FruitItem> array){
			System.out.println("选择的是修改功能");
			System.out.print("请输入您要修改的商品的编号:");
			

			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.print("输入新的商品编号:");
					item.ID = sc.nextInt();
					
					System.out.print("输入新的商品名字:");
					item.name = sc.next();
					
					System.out.print("输入新的商品价格:");
					item.price = sc.nextDouble();
					System.out.println("商品修改成功");
					return ;
				}
			}
			System.out.println("输入的编号不存在");
		}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值