import java.util.Scanner;
public class Main8 {
private String[] snacks; //定义一个 String类的数组,来保存零食信息
private int size;
//通过构造函数来实现初始化数组的操作
public Main8(int capacity) {
snacks = new String[capacity];
size = 0;
}
//添加方法传入一个string类型的零食,如果当前下标数小于临时数组的长度,添加零食,下标加一
public void addSnack(String snack) {
if (size < snacks.length) {
snacks[size] = snack;
size++;
System.out.println("零食添加成功!");
} else {
System.out.println("零食库存已满,无法添加!");
}
}
//传入当前要删除的临时的索引,判断索引是否在区间内,通过for循环实现临时信息向前移动1,然后删除最后一个数组信息,数组下标长度减1
public void deleteSnack(int index) {
if (index >= 0 && index < size) {
for (int i = index; i < size - 1; i++) {
snacks[i] = snacks[i + 1];
}
snacks[size - 1] = null;
size--;
System.out.println("零食删除成功!");
} else {
System.out.println("输入的索引无效,无法删除!");
}
}
//修改信息。通过数组的索引以及传入的新的零食信息,然后判断当前下标是否在区间内,如果在区间内用新的零食信息覆盖旧的零食信息
public void updateSnack(int index, String newSnack) {
if (index >= 0 && index < size) {
snacks[index] = newSnack;
System.out.println("零食更新成功!");
} else {
System.out.println("输入的索引无效,无法更新!");
}
}
//零食列表信息。通过for循环来打印每一个零食信息
public void querySnack() {
System.out.println("当前零食库存:");
for (int i = 0; i < size; i++) {
System.out.println(i + ": " + snacks[i]);
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Main8 managementSystem = new Main8(10);
//通过while循环来实现主菜单循环
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 添加零食");
System.out.println("2. 删除零食");
System.out.println("3. 更新零食");
System.out.println("4. 查询零食");
System.out.println("5. 退出系统");
//通过choice来选择要执行哪一个具体的方法
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.println("请输入要添加的零食:");
String snack = scanner.next();
managementSystem.addSnack(snack);
break;
case 2:
System.out.println("请输入要删除的零食索引:");
int index = scanner.nextInt();
managementSystem.deleteSnack(index);
break;
case 3:
System.out.println("请输入要更新的零食索引:");
int updateIndex = scanner.nextInt();
System.out.println("请输入新的零食:");
String newSnack = scanner.next();
managementSystem.updateSnack(updateIndex, newSnack);
break;
case 4:
managementSystem.querySnack();
break;
case 5:
System.out.println("系统已退出。");
System.exit(0);
break;
default:
System.out.println("无效的选择!");
break;
}
}
}
}
零食管理系统
最新推荐文章于 2024-09-08 12:41:07 发布