java 在控制台输入多条数据(String类型)对象,存入Map集合中。 - 使用一个int值自动打包为key - 当存储完毕之后,询问是否输入正确,此时用户可以输入标号删除其输入错误的信息。
时间: 2024-02-28 22:56:09 浏览: 77
好的,下面是 Java 语言实现的代码,使用 Map 来实现:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class StringInputMap {
public static void main(String[] args) {
Map<Integer, String> inputMap = new HashMap<>();
Scanner scanner = new Scanner(System.in);
int count = 1;
while (true) {
System.out.print("请输入第 " + count + " 条数据:");
String input = scanner.nextLine();
inputMap.put(count, input);
System.out.print("是否继续输入?(y/n)");
String choice = scanner.nextLine();
if (choice.equals("n")) {
break;
}
count++;
}
System.out.println("您输入的数据为:");
for (Map.Entry<Integer, String> entry : inputMap.entrySet()) {
System.out.println(entry.getKey() + "\t" + entry.getValue());
}
System.out.print("是否需要删除输入错误的数据?(y/n)");
String choice = scanner.nextLine();
if (choice.equals("y")) {
while (true) {
System.out.print("请输入需要删除的数据标号(输入 0 结束):");
int key = scanner.nextInt();
if (key == 0) {
break;
}
if (inputMap.containsKey(key)) {
inputMap.remove(key);
System.out.println("已删除标号为 " + key + " 的数据");
} else {
System.out.println("输入错误,不存在标号为 " + key + " 的数据");
}
}
System.out.println("您删除后的数据为:");
for (Map.Entry<Integer, String> entry : inputMap.entrySet()) {
System.out.println(entry.getKey() + "\t" + entry.getValue());
}
}
}
}
```
代码中使用了 Map 来存储用户输入的数据,使用 Scanner 来读取控制台输入的信息。在循环输入时,使用一个计数器 count 来作为 Map 的 key 值。输入完毕后,先打印出所有输入的数据,然后询问用户是否需要删除错误的数据。如果需要删除,就循环输入需要删除的数据标号,使用 Map 的 remove 方法来删除数据。最后再打印出删除后的数据。
阅读全文