【题目要求】: 1、利用Map接口,定义两个班的成绩表: 1班 2班 Zhang 92 Meng 93 Wang 94 Sun 92 Li 93.5 Guo 95 Zhao 98 Yang 99 Sun 100 He 99.5 并用Map的形式打印输出两个班的Key-Value值;输出成绩为100的Map映射; 2、将该两个Map中的key值分别赋值到两个ArrayList(arrkey1和arrkey2)中,将两个Map中的Value值分别赋值到两个ArrayList(arrvalue1和arrvalue2)中,分别进行输出;/*也可以不选择ArrayList类而选择其它集合类,只要能够满足要求即可;*/ 3、求出两个包含key值集合的交集kin和并集kun,并输出; 4、求出两个包含value值集合的交集vin和并集vun,并输出; 5、请将两个并集kun和vun中的元素进行升序排序并输出; 6、请将两个集合kun和vun按照降序排序输出; 7、请在表示成绩的vun的集合中查找所有非整数的成绩,通过四舍五入的方式,替换为新的四舍五入后的成绩,并输出全部成绩。 注意:请严格按照题目要求进行编程,将名字写在程序注释中,提交照片或者截图。所有的输出,都需要有提示信息。
时间: 2024-02-04 11:04:19 浏览: 67
好的,下面是第一个问题的代码实现:
```java
import java.util.HashMap;
import java.util.Map;
public class ScoreMap {
public static void main(String[] args) {
// 定义两个班的成绩表,使用Map接口
Map<String, Double> score1 = new HashMap<>();
Map<String, Double> score2 = new HashMap<>();
// 添加1班的成绩信息
score1.put("Zhang", 92.0);
score1.put("Wang", 94.0);
score1.put("Li", 93.5);
score1.put("Zhao", 98.0);
score1.put("Sun", 100.0);
// 添加2班的成绩信息
score2.put("Meng", 93.0);
score2.put("Sun", 92.0);
score2.put("Guo", 95.0);
score2.put("Yang", 99.0);
score2.put("He", 99.5);
// 输出1班的成绩信息
System.out.println("1班的成绩信息:");
for (Map.Entry<String, Double> entry : score1.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue());
}
// 输出2班的成绩信息
System.out.println("2班的成绩信息:");
for (Map.Entry<String, Double> entry : score2.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue());
}
// 输出成绩为100的Map映射
if (score1.containsValue(100.0)) {
System.out.println("1班有成绩为100的同学");
}
if (score2.containsValue(100.0)) {
System.out.println("2班有成绩为100的同学");
}
}
}
```
运行结果如下:
```
1班的成绩信息:
Zhao:98.0
Wang:94.0
Zhang:92.0
Sun:100.0
Li:93.5
2班的成绩信息:
Guo:95.0
Yang:99.0
Meng:93.0
Sun:92.0
He:99.5
1班有成绩为100的同学
```
注意:这里为了方便演示,直接使用了Java中的HashMap类实现了Map接口。实际开发中,我们应该根据具体需求选择合适的Map实现类。
阅读全文