集合和对象版的商品CRUD管理系统(Java)

104 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

要求如下:

  1. 对商品信息进行CRUD的维护,数据存放在集合当中,商品要封装在类当中。
  2. 功能的选择使用文字菜单完成,每个操作要求有明确的操作提示和结果演示,以及结果演示的暂停。
 package com.zhangyufan.test;
 ​
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Scanner;
 ​
 public class TestCrud {
 ​
     public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);
         goodsOperationImpl goi = new goodsOperationImpl();
         goi.Init();
         while (true) {
             System.out.println("-------------------------商品CRUD管理系统-------------------------");
             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("请输入一个整数,选择相应的功能:");
             int i = sc.nextInt();
             switch (i) {
             case 1:
                 goi.addGoods();
                 break;
             case 2:
                 goi.delGoods();
                 break;
             case 3:
                 goi.modGoods();
                 break;
             case 4:
                 goi.searchByNumber();
                 break;
             case 5:
                 goi.disAllGoodsInfo();
                 break;
             case 6:
                 System.out.println("谢谢使用本系统,欢迎下次使用!");
                 System.exit(0);
             default:
                 break;
             }
         }
 ​
     }
 ​
 }
 ​
 class Goods {
     private int number;
     private String name;
 ​
     public int getNumber() {
         return number;
     }
 ​
     public void setNumber(int number) {
         this.number = number;
     }
 ​
     public String getName() {
         return name;
     }
 ​
     public void setName(String name) {
         this.name = name;
     }
 ​
     public Goods(int number, String name) {
         super();
         this.number = number;
         this.name = name;
     }
 ​
     public Goods(String name) {
         super();
         this.name = name;
     }
 ​
     public Goods() {
         super();
     }
 ​
     @Override
     public String toString() {
         return "商品 [number=" + number + ", name=" + name + "]";
     }
 ​
 }
 ​
 interface goodsOperation {
 ​
     void Init();
 ​
     void addGoods();
 ​
     void delGoods();
 ​
     void modGoods();
 ​
     void searchByNumber();
 ​
     void disAllGoodsInfo();
 }
 ​
 class goodsOperationImpl implements goodsOperation {
     Scanner sc = new Scanner(System.in);
     List<Goods> list = new ArrayList<Goods>();
 ​
     public static void clear() {
         for (int i = 0; i < 30; i++) {
             System.out.println();
         }
     }
 ​
     public void backMenu() {
         System.out.println("请输入任意字符返回主菜单!");
         Scanner sc = new Scanner(System.in);
         sc.next();
         clear();
     }
 ​
     @Override
     public void Init() {
         Goods g1 = new Goods(1, "矿泉水");
         list.add(g1);
         Goods g2 = new Goods(2, "可乐");
         list.add(g2);
     }
 ​
     @Override
     public void addGoods() {
         System.out.println("请输入您想要新增的商品的编号:");
         int addNumber = sc.nextInt();
         for (int i = 0; i < list.size(); i++) {
             if (list.get(i) != null && list.get(i).getNumber() == addNumber) {
                 System.out.println("新增商品失败,已存在相同编号!");
                 backMenu();
                 return;
             }
 ​
         }
         System.out.println("请输入您想要新增的商品的名称:");
         String addName = sc.next();
         for (int i = 0; i < list.size(); i++) {
             if (list.get(i) != null && list.get(i).getName().equals(addName)) {
                 System.out.println("新增商品失败,已存在相同名称!");
                 backMenu();
                 return;
             }
         }
         list.add(new Goods(addNumber, addName));
         System.out.println("新增商品成功!");
         backMenu();
     }
 ​
     @Override
     public void delGoods() {
         System.out.println("请输入您想要删除的商品的编号:");
         int delNumber = sc.nextInt();
         System.out.println("确认删除? 请输入y(代表Yes)或n(代表No)");
         String yesNo = sc.next().toLowerCase();
         if ("y".equals(yesNo)) {
             int i;
             for (i = 0; i < list.size(); i++) {
                 if (list.get(i).getNumber() == delNumber) {
                     list.remove(i);
                     System.out.println("删除成功!");
                     backMenu();
                     break;
                 }
             }
             if (i == list.size()) {
                 System.out.println("您想要删除的商品不存在!");
                 backMenu();
             }
         } else {
             System.out.println("取消删除!");
             backMenu();
         }
     }
 ​
     @Override
     public void modGoods() {
         System.out.println("请输入您想要修改的商品的编号:");
         int modNumber = sc.nextInt();
         System.out.println("确认修改? 请输入y(代表Yes)或n(代表No)");
         String yesNo = sc.next().toLowerCase();
         if ("y".equals(yesNo)) {
             int i;
             for (i = 0; i < list.size(); i++) {
                 if (list.get(i).getNumber() == modNumber) {
                     System.out.println("请输入该商品修改后的名称:");
                     String name = sc.next();
                     list.get(i).setName(name);
                     System.out.println("修改成功!该商品目前信息为:" + list.get(i));
                     backMenu();
                     break;
                 }
             }
             if (i == list.size()) {
                 System.out.println("您想要修改的商品不存在!");
                 backMenu();
             }
         } else {
             System.out.println("取消修改!");
             backMenu();
         }
     }
 ​
     @Override
     public void searchByNumber() {
         System.out.println("请输入您想要查询的商品的编号:");
         int searchNumber = sc.nextInt();
         int i;
         for (i = 0; i < list.size(); i++) {
             if (list.get(i).getNumber() == searchNumber) {
                 System.out.println("查询成功!您想要查询的商品信息为:" + list.get(i));
                 backMenu();
                 break;
             }
         }
         if (i == list.size()) {
             System.out.println("您想要查询的商品不存在!");
             backMenu();
         }
     }
 ​
     @Override
     public void disAllGoodsInfo() {
         for (int i = 0; i < list.size(); i++) {
             if (list.get(i) != null) {
                 System.out.println(list.get(i));
             }
         }
         backMenu();
     }
 ​
 }