零食管理系统

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;
            }
        }
    }
}

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值