2402_83870430 2024-06-01 07:50 采纳率: 0%
浏览 23

写一个关于水果管理的Java程序

水果管理java程序
课题描述:该系统管理水果信息,具各以下功能:
(1)添加水果
(2)删除水果
(3)根据水果编号查询水果信息
课题设计
(1)水果父类Fruit设计
1)属性:水果名称、水果编号、价格、重量、供应季节
2)构造器:Fruit(String fruitName, String fruitID, double price, doubleweight, String season)
3)get方法、set方法
4)重写toString方法:打印水果的所有属性信息
5)重写 equals 函数:实现比较两种水果的水果编号是否相同,如果相同则返回 true,否则返回false
(2)苹果Apple设计
1)继承Fruit
2)新增属性:品种(例如:富士、红富士)
3)构造器:Apple(String fruitName, String fruitID, double price, doubleweight, String season, String variety)
4)get方法、set方法
5)重写toString方法:打印苹果的所有属性信息
(3)香蕉Banana设计
1)继承Frit
2)新增属性:产地
3)构造器:Banana(String fruitName, String fruitID. double price, doubleweight, String scason, String origin)
4) gct方法、set方法
5)重写toString方法:打印香蕉的所有属性信息
(4)接口设计
水果管理接口,接口中有采购水果的方法
(5)接口实现类设计
苹果实现采购水果接口:每次采购苹果,输出“苹果已采购”香蕉实现采购水果接口:每次采购香蕉,输出“香蕉已采购”
(6)主控类设计(执行main方法的类)
创建一个FruitTest类,在该类中创建一个苹果数组、一个香蕉数组,每个数组的长度为5。分别对每个数组实现添加水果、删除水果、通过水果编号查询水果、采购水果操作

展开全部

  • 写回答

3条回答 默认 最新

  • 檀越@新空间 2024-06-01 07:50
    关注

    下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    首先,让我们按照你的要求逐步创建这个Java程序。我们将遵循你的设计思路,并使用类和接口来组织代码。

    1. 水果父类Fruit.java
    public class Fruit {
        private String fruitName;
        private String fruitID;
        private double price;
        private double weight;
        private String season;
    
        // 构造器
        public Fruit(String fruitName, String fruitID, double price, double weight, String season) {
            this.fruitName = fruitName;
            this.fruitID = fruitID;
            this.price = price;
            this.weight = weight;
            this.season = season;
        }
    
        // get和set方法
        public String getFruitName() { return fruitName; }
        public void setFruitName(String fruitName) { this.fruitName = fruitName; }
        // 其他属性的get和set方法...
    
        // 重写toString方法
        @Override
        public String toString() {
            return "Fruit{" +
                    "fruitName='" + fruitName + '\'' +
                    ", fruitID='" + fruitID + '\'' +
                    ", price=" + price +
                    ", weight=" + weight +
                    ", season='" + season + '\'' +
                    '}';
        }
    
        // 重写equals方法
        @Override
        public boolean equals(Object obj) {
            if (this == obj) return true;
            if (obj == null || getClass() != obj.getClass()) return false;
            Fruit fruit = (Fruit) obj;
            return fruitID.equals(fruit.fruitID);
        }
    }
    
    1. 苹果Apple.java
    public class Apple extends Fruit {
        private String variety;
    
        public Apple(String fruitName, String fruitID, double price, double weight, String season, String variety) {
            super(fruitName, fruitID, price, weight, season);
            this.variety = variety;
        }
    
        // get和set方法 for variety
        public String getVariety() { return variety; }
        public void setVariety(String variety) { this.variety = variety; }
    
        // 重写toString方法
        @Override
        public String toString() {
            return "Apple{" +
                    "super.toString() +\n" +
                    ", variety='" + variety + '\'' +
                    '}';
        }
    }
    
    1. 香蕉Banana.java
    public class Banana extends Fruit {
        private String origin;
    
        public Banana(String fruitName, String fruitID, double price, double weight, String season, String origin) {
            super(fruitName, fruitID, price, weight, season);
            this.origin = origin;
        }
    
        // get和set方法 for origin
        public String getOrigin() { return origin; }
        public void setOrigin(String origin) { this.origin = origin; }
    
        // 重写toString方法
        @Override
        public String toString() {
            return "Banana{" +
                    "super.toString() +\n" +
                    ", origin='" + origin + '\'' +
                    '}';
        }
    }
    
    1. 水果管理接口FruitManagement.java
    public interface FruitManagement {
        void addFruit(Fruit fruit);
        void removeFruit(String fruitID);
        Fruit queryFruit(String fruitID);
        void purchaseFruit();
    }
    
    1. 苹果和香蕉实现接口AppleManager和BananaManager
    public class AppleManager implements FruitManagement {
        private Fruit[] apples;
    
        // 构造器和实现接口方法...
    }
    
    public class BananaManager implements FruitManagement {
        private Fruit[] bananas;
    
        // 构造器和实现接口方法...
    }
    
    1. 主控类FruitTest.java
    public class FruitTest {
        public static void main(String[] args) {
            AppleManager appleManager = new AppleManager(new Apple[5]);
            BananaManager bananaManager = new BananaManager(new Banana[5]);
    
            // 实现添加、删除、查询和采购操作
            // ...
    
            // 示例:
            appleManager.addFruit(new Apple("富士", "A001", 5.99, 0.3, "秋季", "富士"));
            System.out.println(appleManager.queryFruit("A001"));
    
            // 采购水果
            appleManager.purchaseFruit();
            bananaManager.purchaseFruit();
        }
    }
    

    现在,你已经得到了一个基本的水果管理Java程序,包括父类Fruit、子类Apple和Banana以及相关的接口和实现类。你可以根据需要扩展和调整这些部分以满足具体需求。

    展开全部

    评论 编辑记录
  • 阿里嘎多学长 2024-06-01 07:50
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    根据您的需求,我将提供一个简单的Java程序示例,以帮助您实现水果管理系统。请注意,这只是一个基础的实现,您可能需要根据实际需求进行调整和扩展。

    // 1. 水果父类Fruit
    class Fruit {
        private String fruitName;
        private String fruitID;
        private double price;
        private double weight;
        private String season;
    
        public Fruit(String fruitName, String fruitID, double price, double weight, String season) {
            this.fruitName = fruitName;
            this.fruitID = fruitID;
            this.price = price;
            this.weight = weight;
            this.season = season;
        }
    
        // Getters and Setters
        // ...
    
        @Override
        public String toString() {
            return "Fruit{" +
                    "fruitName='" + fruitName + '\'' +
                    ", fruitID='" + fruitID + '\'' +
                    ", price=" + price +
                    ", weight=" + weight +
                    ", season='" + season + '\'' +
                    '}';
        }
    
        @Override
        public boolean equals(Object o) {
            if (this == o) return true;
            if (!(o instanceof Fruit)) return false;
            Fruit fruit = (Fruit) o;
            return fruitID.equals(fruit.fruitID);
        }
    }
    
    // 2. 苹果类Apple
    class Apple extends Fruit {
        private String variety;
    
        public Apple(String fruitName, String fruitID, double price, double weight, String season, String variety) {
            super(fruitName, fruitID, price, weight, season);
            this.variety = variety;
        }
    
        // Getters and Setters for variety
        // ...
    
        @Override
        public String toString() {
            return super.toString() + ", variety='" + variety + '\'';
        }
    }
    
    // 3. 香蕉类Banana
    class Banana extends Fruit {
        private String origin;
    
        public Banana(String fruitName, String fruitID, double price, double weight, String season, String origin) {
            super(fruitName, fruitID, price, weight, season);
            this.origin = origin;
        }
    
        // Getters and Setters for origin
        // ...
    
        @Override
        public String toString() {
            return super.toString() + ", origin='" + origin + '\'';
        }
    }
    
    // 4. 水果管理接口
    interface FruitManagement {
        void purchase();
    }
    
    // 5. 接口实现类
    class ApplePurchase implements FruitManagement {
        @Override
        public void purchase() {
            System.out.println("苹果已采购");
        }
    }
    
    class BananaPurchase implements FruitManagement {
        @Override
        public void purchase() {
            System.out.println("香蕉已采购");
        }
    }
    
    // 6. 主控类FruitTest
    public class FruitTest {
        public static void main(String[] args) {
            Apple[] apples = new Apple[5];
            Banana[] bananas = new Banana[5];
    
            // 示例:添加水果到数组
            apples[0] = new Apple("苹果", "001", 5.0, 1.0, "秋季", "红富士");
            bananas[0] = new Banana("香蕉", "002", 3.0, 0.5, "夏季", "海南");
    
            // 示例:采购水果
            ApplePurchase applePurchase = new ApplePurchase();
            BananaPurchase bananaPurchase = new BananaPurchase();
            applePurchase.purchase();
            bananaPurchase.purchase();
    
            // 其他操作:添加水果、删除水果、查询水果等
            // ...
        }
    }
    

    这个示例程序包含了您所需的所有类和接口,以及一个简单的主控类FruitTest来演示如何使用这些类。您可以根据这个示例来扩展您的程序,添加更多的功能,如添加、删除和查询水果的操作。

    关于参考资料,您可以参考以下链接来获取更多关于Java编程的信息:

    请注意,以上代码只是一个基础示例,您需要根据实际需求进一步完善和调试。

    展开全部

    评论 编辑记录
  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-01 07:52
    关注

    引自免费微信小程序:皆我百晓生

    为了满足您的需求,我将逐步为您展示如何编写这个水果管理系统的Java代码。

    首先,我们从 Fruit 类开始:

    public class Fruit {
        private String fruitName;
        private String fruitID;
        private double price;
        private double weight;
        private String season;
    
        public Fruit(String fruitName, String fruitID, double price, double weight, String season) {
            this.fruitName = fruitName;
            this.fruitID = fruitID;
            this.price = price;
            this.weight = weight;
            this.season = season;
        }
    
        // Getters and Setters
        public String getFruitName() {
            return fruitName;
        }
    
        public void setFruitName(String fruitName) {
            this.fruitName = fruitName;
        }
    
        public String getFruitID() {
            return fruitID;
        }
    
        public void setFruitID(String fruitID) {
            this.fruitID = fruitID;
        }
    
        public double getPrice() {
            return price;
        }
    
        public void setPrice(double price) {
            this.price = price;
        }
    
        public double getWeight() {
            return weight;
        }
    
        public void setWeight(double weight) {
            this.weight = weight;
        }
    
        public String getSeason() {
            return season;
        }
    
        public void setSeason(String season) {
            this.season = season;
        }
    
        @Override
        public String toString() {
            return "Fruit{" +
                    "fruitName='" + fruitName + '\'' +
                    ", fruitID='" + fruitID + '\'' +
                    ", price=" + price +
                    ", weight=" + weight +
                    ", season='" + season + '\'' +
                    '}';
        }
    
        @Override
        public boolean equals(Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            Fruit fruit = (Fruit) o;
            return Objects.equals(fruitID, fruit.fruitID);
        }
    }
    

    接下来是 Apple 类:

    public class Apple extends Fruit {
        private String variety;
    
        public Apple(String fruitName, String fruitID, double price, double weight, String season, String variety) {
            super(fruitName, fruitID, price, weight, season);
            this.variety = variety;
        }
    
        // Getters and Setters
        public String getVariety() {
            return variety;
        }
    
        public void setVariety(String variety) {
            this.variety = variety;
        }
    
        @Override
        public String toString() {
            return "Apple{" +
                    "variety='" + variety + '\'' +
                    "} " + super.toString();
        }
    }
    

    然后是 Banana 类:

    public class Banana extends Fruit {
        private String origin;
    
        public Banana(String fruitName, String fruitID, double price, double weight, String season, String origin) {
            super(fruitName, fruitID, price, weight, season);
            this.origin = origin;
        }
    
        // Getters and Setters
        public String getOrigin() {
            return origin;
        }
    
        public void setOrigin(String origin) {
            this.origin = origin;
        }
    
        @Override
        public String toString() {
            return "Banana{" +
                    "origin='" + origin + '\'' +
                    "} " + super.toString();
        }
    }
    

    接着是 FruitManager 接口:

    public interface FruitManager {
        void purchase(Fruit fruit);
    }
    

    然后是 AppleManager 和 BananaManager 实现类:

    public class AppleManager implements FruitManager {
        @Override
        public void purchase(Fruit fruit) {
            if (fruit instanceof Apple) {
                System.out.println("苹果已采购");
            } else {
                System.out.println("不支持采购此类型水果");
            }
        }
    }
    
    public class BananaManager implements FruitManager {
        @Override
        public void purchase(Fruit fruit) {
            if (fruit instanceof Banana) {
                System.out.println("香蕉已采购");
            } else {
                System.out.println("不支持采购此类型水果");
            }
        }
    }
    

    最后是主控制类 FruitTest:

    import java.util.Arrays;
    
    public class FruitTest {
        public static void main(String[] args) {
            // 创建苹果数组
            Fruit[] appleArray = new Apple[5];
            for (int i = 0; i < appleArray.length; i++) {
                appleArray[i] = new Apple("Apple", "A" + i, i * 1.5, i * 0.2, "Spring", "Fuji");
            }
    
            // 创建香蕉数组
            Fruit[] bananaArray = new Banana[5];
            for (int i = 0; i < bananaArray.length; i++) {
                bananaArray[i] = new Banana("Banana", "B" + i, i * 2.0, i * 0.3, "Summer", "Thailand");
            }
    
            // 添加水果
            addFruits(appleArray);
            addFruits(bananaArray);
    
            // 删除水果
            deleteFruit(appleArray, "A1");
            deleteFruit(bananaArray, "B2");
    
            // 查询水果
            searchFruit(appleArray, "A2");
            searchFruit(bananaArray, "B3");
    
            // 采购水果
            purchaseFruits(appleArray, new AppleManager());
            purchaseFruits(bananaArray, new BananaManager());
        }
    
        private static void addFruits(Fruit[] fruits, Fruit... newFruits) {
            for (Fruit newFruit : newFruits) {
                fruits[fruits.length - 1] = newFruit;
            }
        }
    
        private static void deleteFruit(Fruit[] fruits, String fruitID) {
            for (int i = 0; i < fruits.length; i++) {
                if (fruits[i].getFruitID().equals(fruitID)) {
                    fruits[i] = fruits[fruits.length - 1];
                    fruits[fruits.length - 1] = null;
                    fruits = Arrays.copyOfRange(fruits, 0, fruits.length - 1);
                    break;
                }
            }
        }
    
        private static void searchFruit(Fruit[] fruits, String fruitID) {
            for (Fruit fruit : fruits) {
                if (fruit.getFruitID().equals(fruitID)) {
                    System.out.println(fruit);
                    return;
                }
            }
            System.out.println("未找到水果");
        }
    
        private static void purchaseFruits(Fruit[] fruits, FruitManager manager) {
            for (Fruit fruit : fruits) {
                manager.purchase(fruit);
            }
        }
    }
    

    以上就是整个水果管理系统的设计和实现。您可以在 IDE 中运行 FruitTest 类来测试这个程序的功能。如果有任何疑问,请随时提问。

    展开全部

    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部