框架习题
Posted 摩西摩西点点
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了框架习题相关的知识,希望对你有一定的参考价值。
1、有如下Student对象,属性如图所示:
其中classNum表示学生的班级编号,比如:class05
有如下List:
List list = new ArrayList();
list.add(new Student(“Tom”, 18,
100, “class05”));
list.add(new Student(“Jerry”, 22,
70, “class04”));
list.add(new Student(“Owen”, 25,
90, “class05”));
list.add(new Student(“Jim”, 30,80 ,
“class05”));
list.add(new Student(“Steve”, 28,
66, “class06”));
list.add(new Student(“Kevin”, 24,
100, “class04”));
在这个list 的基础上,完成下列要求:
1)
计算所有学生的平均年龄
2)
计算各个班级的平均分
package com.newer.cn; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; public class TestStudent { public static void main(String[] args) { List<Student> list = new ArrayList<Student>(); list.add(new Student("Tom", 18, 100, "class05")); list.add(new Student("Jerry", 22, 70, "class04")); list.add(new Student("Owen", 25, 90, "class05")); list.add(new Student("Jim", 30, 80, "class05")); list.add(new Student("Steve", 28, 66, "class06")); list.add(new Student("Kevin", 24, 100, "class04")); list.add(new Student("Jim", 30, 80, "class07")); list.add(new Student("Steve", 28, 66, "class06")); list.add(new Student("Kevin", 24, 100, "class07")); // 求平均年龄 double sumAge = 0; for (Student stu : list) { sumAge += stu.getAge(); } /*for (int i = 0; i < list.size(); i++) { Student stu =list.get(i); sumAge +=stu.getAge(); }*/ System.out.println("平均年龄是:" + sumAge / list.size()); // 求每个班的平均分 Map<String, List<Student>> map = new HashMap<String, List<Student>>(); for (int i = 0; i < list.size(); i++) { Student s = list.get(i); String classNum = s.getClassNum(); if (map.containsKey(classNum)) { map.get(classNum).add(s); } else { List<Student> l = new ArrayList<Student>(); l.add(s); map.put(classNum, l); } } // [class06,class05,class04] Set<String> cls = map.keySet(); for (String s : cls) { double sumScore = 0; List<Student> ls = map.get(s); for (Student student : ls) { sumScore += student.getScore(); } System.out.println(s + "班的平均分是:" + sumScore / ls.size()); } } }
2、已知有16支足球队参加2008北京奥运会。写一个程序,随机把16支球队分成四组
package com.newer.cn; import java.sql.Array; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; public class Test1 { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.add("E"); list.add("F"); list.add("G"); list.add("H"); list.add("I"); list.add("J"); list.add("K"); list.add("L"); list.add("M"); list.add("N"); list.add("O"); list.add("P"); System.out.println(list); Collections.shuffle(list); System.out.println(list); List<List<String>> group = new ArrayList<List<String>>(); group.add(new ArrayList<String>()); group.add(new ArrayList<String>()); group.add(new ArrayList<String>()); group.add(new ArrayList<String>()); int a=0; for (int i = 0; i < list.size(); i++) { group.get(a).add(list.get(i)); if(group.get(a).size()==4) a++; } for (List k : group) System.out.println(k); } }
以上是关于框架习题的主要内容,如果未能解决你的问题,请参考以下文章
C语言习题如何在 C 中不使用任何分号打印从 1 到 N 的数字?
SpringCloud系列四:Eureka 服务发现框架(定义 Eureka 服务端Eureka 服务信息Eureka 发现管理Eureka 安全配置Eureka-HA(高可用) 机制Eur(代码片段