鲜花管理系统

package 鲜花管理系统;

import java.util.Scanner;

//创建一个鲜花类,定义鲜花的属性以及get和set方法
class Flower {
    private String name;
    private double price;

    public Flower(String name, double price) {
        this.name = name;
        this.price = price;
    }

    public String getName() {
        return name;
    }

    public double getPrice() {
        return price;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setPrice(double price) {
        this.price = price;
    }
}

class FlowerManagementSystem {
    private static final int MAX_FLOWERS = 100;//数组最大值
    private Flower[] flowers; //数组存放鲜花信息
    private int flowerCount;

    public FlowerManagementSystem() {
        flowers = new Flower[MAX_FLOWERS]; //初始化数组信息以及数组当前下标
        flowerCount = 0;
    }

    添加方法
    public void addFlower(Flower flower) {
        //判断如果数组索引小于数组最大长度,将新的鲜花对象加入到数组中,数组索引下标加一
        if (flowerCount < MAX_FLOWERS) {
            flowers[flowerCount] = flower;
            flowerCount++;
            System.out.println("成功添加鲜花:" + flower.getName());
        } else {
            System.out.println("鲜花数量已达上限,无法添加更多鲜花!");
        }
    }

    //删除方法,给定数组下标,如果数组下标大于等于0,并且数组的下标,并且数组的下标小于索引的时候删除数组中的对应数据数据向前移动一下,标减1
    public void removeFlower(int index) {
        if (index >= 0 && index < flowerCount) {
            Flower flower = flowers[index];
            for (int i = index; i < flowerCount - 1; i++) {
                flowers[i] = flowers[i + 1];
            }
            flowers[flowerCount - 1] = null;
            flowerCount--;
            System.out.println("成功删除鲜花:" + flower.getName());
        } else {
            System.out.println("索引超出范围,请重新输入!");
        }
    }

    修改方法给定要,修改的数字、下标以及鲜花名字鲜花描述和鲜花价格,通过下标判断鲜花是否存在,然后通过set方法修改具体信息
    public void updateFlower(int index, String name, double price) {
        if (index >= 0 && index < flowerCount) {
            Flower flower = flowers[index];
            flower.setName(name);
            flower.setPrice(price);
            System.out.println("成功更新鲜花信息:" + flower.getName());
        } else {
            System.out.println("索引超出范围,请重新输入!");
        }
    }

    //获得鲜花列表方法。通过for循环来循环打印数组中的每一个鲜花信息
    public void displayFlowers() {
        if (flowerCount == 0) {
            System.out.println("鲜花列表为空!");
        } else {
            System.out.println("鲜花列表:");
            for (int i = 0; i < flowerCount; i++) {
                Flower flower = flowers[i];
                System.out.println("名称:" + flower.getName() + ",价格:" + flower.getPrice());
            }
        }
    }
}

public class Main6 {
    public static void main(String[] args) {
        FlowerManagementSystem system = new FlowerManagementSystem();
        Scanner scanner = new Scanner(System.in);
        int choice = -1;

        //通过 while循环来实现主菜单循环
        while (choice != 0) {
            System.out.println("请选择操作:");
            System.out.println("1. 添加鲜花");
            System.out.println("2. 删除鲜花");
            System.out.println("3. 更新鲜花信息");
            System.out.println("4. 显示鲜花列表");
            System.out.println("0. 退出");

            //设置choice参数来接收收入输入的信息,然后通过输入的信息判断执行哪一个方法
            choice = scanner.nextInt();
            scanner.nextLine(); // 清除输入缓冲区的换行符

            switch (choice) {
                case 1:
                    System.out.println("请输入鲜花名称:");
                    String name = scanner.nextLine();
                    System.out.println("请输入鲜花价格:");
                    double price = scanner.nextDouble();
                    scanner.nextLine(); // 清除输入缓冲区的换行符
                    system.addFlower(new Flower(name, price));
                    break;
                case 2:
                    System.out.println("请输入要删除的鲜花索引:");
                    int removeIndex = scanner.nextInt();
                    scanner.nextLine(); // 清除输入缓冲区的换行符
                    system.removeFlower(removeIndex);
                    break;
                case 3:
                    System.out.println("请输入要更新的鲜花索引:");
                    int updateIndex = scanner.nextInt();
                    scanner.nextLine(); // 清除输入缓冲区的换行符
                    System.out.println("请输入新的鲜花名称:");
                    String newName = scanner.nextLine();
                    System.out.println("请输入新的鲜花价格:");
                    double newPrice = scanner.nextDouble();
                    scanner.nextLine(); // 清除输入缓冲区的换行符
                    system.updateFlower(updateIndex, newName, newPrice);
                    break;
                case 4:
                    system.displayFlowers();
                    break;
                case 0:
                    System.out.println("已退出鲜花管理系统!");
                    break;
                default:
                    System.out.println("无效的选择,请重新输入!");
                    break;
            }
        }

        scanner.close();
    }
}
  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值