编写程序,实现从键盘读入一行数字(数字个数不定,各数字以空格隔开),统计并榆出各数字出现的次数。输出格式如: 数字2出现的次数为3 数字 40 出现的次数为 1
时间: 2024-03-21 14:37:36 浏览: 52
以下是Java代码实现:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一行数字,以空格隔开:");
String input = scanner.nextLine();
String[] nums = input.split(" ");
Map<String, Integer> map = new HashMap<>();
for (String num : nums) {
if (map.containsKey(num)) {
map.put(num, map.get(num) + 1);
} else {
map.put(num, 1);
}
}
for (String key : map.keySet()) {
System.out.println("数字 " + key + " 出现的次数为 " + map.get(key));
}
}
}
```
解释一下代码:
- 首先使用Scanner从键盘读入一行数字,使用split方法将其按照空格分割成多个字符串。
- 创建一个HashMap用于存储每个数字出现的次数,遍历分割后的字符串数组,如果map中已经包含该数字,则将其出现次数+1,否则在map中新增该数字并将其出现次数初始化为1。
- 最后使用for-each循环遍历map中的每个键值对,输出数字和出现次数即可。
阅读全文