package 文物管理系统;
import java.util.Scanner;
class Relic {
private String name;
private String description;
private double value;
public Relic(String name, String description, double value) {
this.name = name;
this.description = description;
this.value = value;
}
public String getName() {
return name;
}
public String getDescription() {
return description;
}
public double getValue() {
return value;
}
public void setName(String name) {
this.name = name;
}
public void setDescription(String description) {
this.description = description;
}
public void setValue(double value) {
this.value = value;
}
@Override
public String toString() {
return "名称:" + name + "\n描述:" + description + "\n价值:" + value;
}
}
class RelicManagementSystem {
private static final int MAX_RELICS = 100;
private Relic[] relics;
private int relicCount;
public RelicManagementSystem() {
relics = new Relic[MAX_RELICS];
relicCount = 0;
}
public void addRelic(Relic relic) {
if (relicCount < MAX_RELICS) {
relics[relicCount] = relic;
relicCount++;
System.out.println("成功添加文物:" + relic.getName());
} else {
System.out.println("文物数量已达上限,无法添加更多文物!");
}
}
public void removeRelic(int index) {
if (index >= 0 && index < relicCount) {
Relic relic = relics[index];
for (int i = index; i < relicCount - 1; i++) {
relics[i] = relics[i + 1];
}
relics[relicCount - 1] = null;
relicCount--;
System.out.println("成功删除文物:" + relic.getName());
} else {
System.out.println("索引超出范围,请重新输入!");
}
}
public void updateRelic(int index, String name, String description, double value) {
if (index >= 0 && index < relicCount) {
Relic relic = relics[index];
relic.setName(name);
relic.setDescription(description);
relic.setValue(value);
System.out.println("成功更新文物信息:" + relic.getName());
} else {
System.out.println("索引超出范围,请重新输入!");
}
}
public void searchRelic(String keyword) {
boolean found = false;
for (int i = 0; i < relicCount; i++) {
Relic relic = relics[i];
if (relic.getName().contains(keyword) || relic.getDescription().contains(keyword)) {
System.out.println("搜索结果:" + relic.toString() + "\n");
found = true;
}
}
if (!found) {
System.out.println("未找到符合条件的文物!");
}
}
public void displayRelics() {
if (relicCount == 0) {
System.out.println("文物列表为空!");
} else {
System.out.println("文物列表:");
for (int i = 0; i < relicCount; i++) {
Relic relic = relics[i];
System.out.println(relic.toString() + "\n");
}
}
}
}
public class Main7 {
public static void main(String[] args) {
RelicManagementSystem system = new RelicManagementSystem();
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 description = scanner.nextLine();
System.out.println("请输入文物价值:");
double value = scanner.nextDouble();
scanner.nextLine();
system.addRelic(new Relic(name, description, value));
break;
case 2:
System.out.println("请输入要删除的文物索引:");
int removeIndex = scanner.nextInt();
scanner.nextLine();
system.removeRelic(removeIndex);
break;
case 3:
System.out.println("请输入要更新的文物索引:");
int updateIndex = scanner.nextInt();
scanner.nextLine();
System.out.println("请输入新的文物名称:");
String newName = scanner.nextLine();
System.out.println("请输入新的文物描述:");
String newDescription = scanner.nextLine();
System.out.println("请输入新的文物价值:");
double newValue = scanner.nextDouble();
scanner.nextLine();
system.updateRelic(updateIndex, newName, newDescription, newValue);
break;
case 4:
System.out.println("请输入搜索关键字:");
String keyword = scanner.nextLine();
system.searchRelic(keyword);
break;
case 5:
system.displayRelics();
break;
case 0:
System.out.println("已退出文物管理系统!");
break;
default:
System.out.println("无效的选择,请重新输入!");
break;
}
}
scanner.close();
}
}