本文已参与「新人创作礼」活动,一起开启掘金创作之路。
要求如下:
- 对商品信息进行CRUD的维护,数据存放在集合当中,商品要封装在类当中。
- 功能的选择使用文字菜单完成,每个操作要求有明确的操作提示和结果演示,以及结果演示的暂停。
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();
}
}