水果管理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。分别对每个数组实现添加水果、删除水果、通过水果编号查询水果、采购水果操作

写一个关于水果管理的Java程序
- 写回答
- 好问题 1 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 檀越@新空间 2024-06-01 07:50关注
下午好🌅🌅🌅
本答案参考ChatGPT-3.5首先,让我们按照你的要求逐步创建这个Java程序。我们将遵循你的设计思路,并使用类和接口来组织代码。
- 水果父类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); } }
- 苹果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 + '\'' + '}'; } }
- 香蕉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 + '\'' + '}'; } }
- 水果管理接口FruitManagement.java
public interface FruitManagement { void addFruit(Fruit fruit); void removeFruit(String fruitID); Fruit queryFruit(String fruitID); void purchaseFruit(); }
- 苹果和香蕉实现接口AppleManager和BananaManager
public class AppleManager implements FruitManagement { private Fruit[] apples; // 构造器和实现接口方法... } public class BananaManager implements FruitManagement { private Fruit[] bananas; // 构造器和实现接口方法... }
- 主控类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编程的信息:
- Java官方文档
- Oracle Java Tutorials
- Maven Repository - 用于查找和使用Java库
请注意,以上代码只是一个基础示例,您需要根据实际需求进一步完善和调试。
解决 无用评论 打赏 举报 编辑记录 关注
引自免费微信小程序:皆我百晓生
为了满足您的需求,我将逐步为您展示如何编写这个水果管理系统的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 类来测试这个程序的功能。如果有任何疑问,请随时提问。
解决 无用评论 打赏 举报