Java使用数组保存书、CD、磁带等信息,实现插入、删除、查找功能。输入、删除时,要显示操作正确与否的信息;查找时按关键字值进行查找,并显示查找结果。
时间: 2023-07-10 14:12:56 浏览: 165
好的,这是一个关于Java数组操作的问题。我可以为您提供一个基本的实现方案:
1. 定义一个类来表示物品,包含书、CD、磁带等信息,例如:
```
class Item {
int id; // 物品编号
String name; // 物品名称
int type; // 物品类型,1 表示书,2 表示 CD,3 表示磁带
// 其他信息,如作者、出版社、发行年份等
}
```
2. 定义一个数组来保存物品信息,例如:
```
Item[] items = new Item[100]; // 最多保存 100 个物品
int count = 0; // 当前保存的物品数量
```
3. 实现插入功能,即向数组中添加一条新的物品信息。可以先输入物品信息,然后将其添加到数组中,例如:
```
Item newItem = new Item();
Scanner scanner = new Scanner(System.in);
System.out.print("请输入物品编号:");
newItem.id = scanner.nextInt();
System.out.print("请输入物品名称:");
newItem.name = scanner.next();
System.out.print("请输入物品类型(1-书,2-CD,3-磁带):");
newItem.type = scanner.nextInt();
// 输入其他信息
items[count++] = newItem; // 将新物品添加到数组中
```
4. 实现删除功能,即从数组中删除一条物品信息。可以先输入要删除的物品编号,然后在数组中查找该物品,如果找到了就将其从数组中删除,例如:
```
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要删除的物品编号:");
int delId = scanner.nextInt();
int delIndex = -1; // 要删除的物品在数组中的下标
for (int i = 0; i < count; i++) {
if (items[i].id == delId) {
delIndex = i;
break;
}
}
if (delIndex == -1) {
System.out.println("没有找到编号为 " + delId + " 的物品");
} else {
for (int i = delIndex; i < count - 1; i++) {
items[i] = items[i + 1];
}
count--;
System.out.println("删除编号为 " + delId + " 的物品成功");
}
```
5. 实现查找功能,即根据关键字值(如物品名称、作者、出版社等)在数组中查找物品。可以先输入要查找的关键字值,然后在数组中查找匹配的物品,并将结果输出,例如:
```
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要查找的关键字:");
String keyword = scanner.next();
int foundCount = 0; // 查找到的物品数量
for (int i = 0; i < count; i++) {
if (items[i].name.equals(keyword)) {
System.out.println("编号:" + items[i].id + ",名称:" + items[i].name + ",类型:" + items[i].type);
// 输出其他信息
foundCount++;
}
}
if (foundCount == 0) {
System.out.println("没有找到关键字为 " + keyword + " 的物品");
}
```
以上就是一个基本的实现方案,您可以根据实际需要进行修改和完善。
阅读全文