用Java容器编写 从键盘输入某各个同学行业名称,杭特之间用空格间隔,统计各行业就业的学生数量,按数量从高到低输出
时间: 2024-04-10 17:34:29 浏览: 80
从键盘上输入一串英文字符(不含空格与其他字符),统计每个字符的数目,并输出字母及相应的数目。
可以使用Java中的HashMap来实现统计各行业就业学生数量的功能。具体代码如下:
```java
import java.util.*;
public class IndustryStatistics {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入同学们的行业名称(用空格间隔):");
String input = scanner.nextLine();
String[] industries = input.split(" ");
Map<String, Integer> industryCountMap = new HashMap<>();
for (String industry : industries) {
if (industryCountMap.containsKey(industry)) {
int count = industryCountMap.get(industry);
industryCountMap.put(industry, count + 1);
} else {
industryCountMap.put(industry, 1);
}
}
List<Map.Entry<String, Integer>> sortedList = new ArrayList<>(industryCountMap.entrySet());
sortedList.sort(Map.Entry.comparingByValue(Comparator.reverseOrder()));
System.out.println("按数量从高到低输出各行业就业学生数量:");
for (Map.Entry<String, Integer> entry : sortedList) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
```
这段代码首先通过`Scanner`从键盘读取同学们的行业名称,然后使用`split`方法将输入的字符串拆分成行业数组。接下来,使用HashMap统计每个行业出现的次数,如果HashMap中已存在该行业,则计数加1;如果不存在,则将该行业放入HashMap并初始化计数为1。
然后,将HashMap中的键值对转化为List,并使用`sort`方法根据值(学生数量)进行降序排序。最后,遍历排序后的List,按照格式输出各行业就业学生数量。
你可以尝试运行这段代码,输入同学们的行业名称,即可得到按数量从高到低输出的结果。
阅读全文