package 植物管理系统;
import java.util.Scanner;
class Plant {
private String name;
private String species;
private int age;
public Plant(String name, String species, int age) {
this.name = name;
this.species = species;
this.age = age;
}
public String getName() {
return name;
}
public String getSpecies() {
return species;
}
public int getAge() {
return age;
}
public void setName(String name) {
this.name = name;
}
public void setSpecies(String species) {
this.species = species;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "植物名称:" + name + "\n植物种类:" + species + "\n植物年龄:" + age;
}
}
class PlantManagementSystem {
private static final int MAX_PLANTS = 100;
private final Plant[] plants;
private int plantCount;
public PlantManagementSystem() {
plants = new Plant[MAX_PLANTS];
plantCount = 0;
}
public void addPlant(Plant plant) {
if (plantCount < MAX_PLANTS) {
plants[plantCount] = plant;
plantCount++;
System.out.println("成功添加植物:" + plant.getName());
} else {
System.out.println("植物数量已达上限,无法添加更多植物!");
}
}
public void removePlant(int index) {
if (index >= 0 && index < plantCount) {
Plant plant = plants[index];
for (int i = index; i < plantCount - 1; i++) {
plants[i] = plants[i + 1];
}
plants[plantCount - 1] = null;
plantCount--;
System.out.println("成功删除植物:" + plant.getName());
} else {
System.out.println("索引超出范围,请重新输入!");
}
}
public void updatePlant(int index, String name, String species, int age) {
if (index >= 0 && index < plantCount) {
Plant plant = plants[index];
plant.setName(name);
plant.setSpecies(species);
plant.setAge(age);
System.out.println("成功更新植物信息:" + plant.getName());
} else {
System.out.println("索引超出范围,请重新输入!");
}
}
public void searchPlant(String keyword) {
boolean found = false;
for (int i = 0; i < plantCount; i++) {
Plant plant = plants[i];
if (plant.getName().contains(keyword) || plant.getSpecies().contains(keyword)) {
System.out.println("搜索结果:" + plant.toString() + "\n");
found = true;
}
}
if (!found) {
System.out.println("未找到符合条件的植物!");
}
}
public void displayPlants() {
if (plantCount == 0) {
System.out.println("植物列表为空!");
} else {
System.out.println("植物列表:");
for (int i = 0; i < plantCount; i++) {
Plant plant = plants[i];
System.out.println(plant.toString() + "\n");
}
}
}
}
public class Main9 {
public static void main(String[] args) {
PlantManagementSystem system = new PlantManagementSystem();
Scanner scanner = new Scanner(System.in);
int choice = -1;
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("5. 显示植物列表");
System.out.println("0. 退出");
choice = scanner.nextInt();
scanner.nextLine();
switch (choice) {
case 1:
System.out.println("请输入植物名称:");
String name = scanner.nextLine();
System.out.println("请输入植物种类:");
String species = scanner.nextLine();
System.out.println("请输入植物年龄:");
int age = scanner.nextInt();
scanner.nextLine();
system.addPlant(new Plant(name, species, age));
break;
case 2:
System.out.println("请输入要删除的植物索引:");
int removeIndex = scanner.nextInt();
scanner.nextLine();
system.removePlant(removeIndex);
break;
case 3:
System.out.println("请输入要更新的植物索引:");
int updateIndex = scanner.nextInt();
scanner.nextLine();
System.out.println("请输入新的植物名称:");
String newName = scanner.nextLine();
System.out.println("请输入新的植物种类:");
String newSpecies = scanner.nextLine();
System.out.println("请输入新的植物年龄:");
int newAge = scanner.nextInt();
scanner.nextLine();
system.updatePlant(updateIndex, newName, newSpecies, newAge);
break;
case 4:
System.out.println("请输入搜索关键字:");
String keyword = scanner.nextLine();
system.searchPlant(keyword);
break;
case 5:
system.displayPlants();
break;
case 0:
System.out.println("已退出植物管理系统!");
break;
default:
System.out.println("无效的选择,请重新输入!");
break;
}
}
scanner.close();
}
}