已知用户不断输入格式为 学号,姓名,性别 的数据,直到输入两个回车结束输入。 数据如: 计科A229101,张三,男 计科A229302,李四,男 计科A229201,张天,女 先要统计每个班的男生和女生数量,请按照输入的班级先显示的方式以格式 [班级名] 男生:人数 女生:人数 如 [计科A2291] 男生:1 女生:0 请根据功能将如下代码补充完整 java.util.Scanner; Test02{ main(String[] args) { Scanner scan=Scanner(System.); String content=; (!.equals(content=scan.nextLine())){ String[] datas=content.split(); } } }
时间: 2023-12-06 20:45:45 浏览: 162
python常见input输入单行多个数据,多行单个数据
以下是完整代码:
```java
import java.util.HashMap;
import java.util.Scanner;
public class Test02 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 使用 HashMap 存储每个班级的男生和女生数量
HashMap<String, int[]> classMap = new HashMap<>();
// 读取输入数据
String content = "";
while (!"".equals(content = scan.nextLine())) {
String[] datas = content.split(",");
String classId = datas[0].substring(0, 7); // 获取班级名
String gender = datas[2];
int[] count = classMap.getOrDefault(classId, new int[2]);
if (gender.equals("男")) {
count[0]++;
} else {
count[1]++;
}
classMap.put(classId, count);
}
// 格式化输出每个班级的男女人数
for (String classId : classMap.keySet()) {
int[] count = classMap.get(classId);
System.out.printf("[%s] 男生:%d 女生:%d\n", classId, count[0], count[1]);
}
}
}
```
程序运行示例:
```
计科A229101,张三,男
计科A229302,李四,男
计科A229201,张天,女
[计科A2291] 男生:1 女生:0
[计科A2293] 男生:1 女生:0
[计科A2292] 男生:0 女生:1
```
阅读全文