用JAVA写一个程序:学生进行选课,请统计出每个学生的选课门数,及每门课选修的人数。 输入格式: 学生学号 选修课程 学生学号 选修课程 …(中间用空格隔开,学生学号输入000代表结束) 输出格式: 学生学号 选修门数 课程1 选修人数 课程2 选修人数
时间: 2023-11-10 21:31:38 浏览: 95
好的,下面是用Java实现的代码:
```java
import java.util.*;
public class CourseSelection {
public static void main(String[] args) {
// 定义一个Map,用来存储每个学生选修的课程
Map<String, List<String>> studentMap = new HashMap<>();
// 定义一个Map,用来存储每门选修课程的选修人数
Map<String, List<String>> courseMap = new HashMap<>();
Scanner scanner = new Scanner(System.in);
while (true) {
// 读入一行输入
String line = scanner.nextLine();
// 将输入按空格分割成数组
String[] items = line.split(" ");
// 获取学生学号
String studentId = items[0];
// 如果学号为000,则结束输入
if ("000".equals(studentId)) {
break;
}
// 获取选修课程
String courseName = items[1];
// 如果学生在Map中不存在,则添加一个新的学生
if (!studentMap.containsKey(studentId)) {
studentMap.put(studentId, new ArrayList<>());
}
// 将选修课程添加到学生的选修课程列表中
studentMap.get(studentId).add(courseName);
// 如果选修课程在Map中不存在,则添加一个新的选修课程
if (!courseMap.containsKey(courseName)) {
courseMap.put(courseName, new ArrayList<>());
}
// 将学生添加到选修课程的选修学生列表中
courseMap.get(courseName).add(studentId);
}
// 统计每个学生的选修门数
for (String studentId : studentMap.keySet()) {
int courseNum = studentMap.get(studentId).size();
// 统计每门选修课程的选修人数
Map<String, Integer> courseCount = new HashMap<>();
for (String courseName : studentMap.get(studentId)) {
int count = courseCount.getOrDefault(courseName, 0);
courseCount.put(courseName, count + 1);
}
// 输出统计结果
System.out.print(studentId + " " + courseNum + " ");
for (String courseName : courseMap.keySet()) {
int count = courseCount.getOrDefault(courseName, 0);
System.out.print(courseName + " " + count + " ");
}
System.out.println();
}
}
}
```
代码中使用了两个Map,一个用来存储每个学生选修的课程,另一个用来存储每门选修课程的选修人数。首先,我们通过一个无限循环来读取输入,每次读取一行输入,并将输入按空格分割成数组。然后,我们从数组中获取学生学号和选修课程。如果学生在Map中不存在,则添加一个新的学生。将选修课程添加到学生的选修课程列表中。如果选修课程在Map中不存在,则添加一个新的选修课程。将学生添加到选修课程的选修学生列表中。
然后,我们统计每个学生的选修门数,并且统计每门选修课程的选修人数。最后,我们输出统计结果,其中每个学生的选修门数和每门选修课程的选修人数都需要输出。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)