用java做一个商品表的增删改查功能

972 阅读2分钟

考察点:

ArrayList

  • 增 array.add

  • 删 array.remove(i)

  • 改 即设置集合中item的属性值

  • 查 遍历集合

    for(int i = 0; i < array.size();i++) {
        array.get(i) // 获取到集合中的每个元素
    }
    

代码

FruitItem类

/*
 * 自定义类,描述商品信息
 * 商品的属性
 * 	  编号 int
 * 	
 */
public class FruitItem {
	// 商品号
	int ID;
	
	String name;
	
	double price;
	
	// 数量
	int number;
	
	double money;
}

Shopp类:主类

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

/*
 * 超市管理系统
 * 实现:
 * 1. 商品数据的初始化
 * 2. 用户的菜单选择
 * 3. 根据选择执行不同的功能
 * 	 3.1 Read   查看商品
 *   3.2 Create 添加商品
 *   3.3 Delete 删除商品
 *   3.4 Update 修改商品
 */
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();

			// System.out.println("您输入的是 " + choose);
			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;
			}
		}

	}

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

		// 创建Scanner变量
		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) {
				
				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变量
		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("你输入的编号不存在");

	}

	/*
	 * 定义方法,实现商品的添加功能 返回值:无 参数: 集合 提示用户选择的是添加商品的功能
	 * 
	 * 提示用户输入的是什么
	 * 
	 * 创建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.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);
			// 变量item调用类中属性
			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();
		System.out.println("============欢迎光临XX超市============");
		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);
	}

}

THE END.