框架习题

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);

    }

}
时间: 2024-10-13 00:18:55

框架习题的相关文章

java习题-集合框架-泛型

集合框架 一 去除List集合中的重复元素. 思路: 1,先创建一个临时容器.用于存储唯一性的元素.2,遍历原容器,将遍历到的元素到临时容器中去判断,是否存在.3,如果存在,不存储到临时容器,如果不存在,存储到临时容器中.4,遍历结束后,临时容器中存储的就是唯一性的元素.5,如果需要将这些唯一性的元素保留到原容器中,只要将原容器清空,将临时容器中的元素添加到原容器中即可.代码实现 package cn.itcast.api.b.list.subclass; import java.util.Ar

OC Foundation框架—字符串操作方法及习题

1 #import <Foundation/Foundation.h> 2 3 int main(int argc, const char * argv[]) { 4 @autoreleasepool { 8 /* 9 不可变字符串 10 1.创建字符串 11 实例方法(3种) 12 类方法(3种) 13 2.不可变字符串: 14 统计长度(2种) 15 索引提取 (3种) 16 比较 (3种) 17 查照字符串位置(1种) 18 判断前后缀 19 转换数字 20 大小写转换 21 字符串提取

编译原理第六单元习题

获得更多资料欢迎进入我的网站或者 csdn或者博客园 这几篇关于编译原理的文章是,我学习中国科学技术大学<编译原理>时,所做的习题总结.之后会将这门课的所有习题补上,用于给大家参考: 题目要求 在这个题目中,你将完整的实现抽象语法树(包括数据结构的定义.语法树的生成等).首先,请下载我们提供的代码包: http://staff.ustc.edu.cn/~bjhua/mooc/ast.zip 代码的运行方式是: 首先生成语法分析器: $ bison exp.y 然后生成编译器: $ gcc ma

C#习题大全

C#习题大全 1.String str=new String("a")和String str = "a"有什么区别? String str = "a"; 这个只是一个引用,内存中如果有“a"的话,str就指向它,如果没有才创建如后还用到"a"这个字符串的话并且是这样用: String str1 = "a"; String str2 = "a"; String str2 = &q

SICP 习题 (2.21)解题总结: map的使用

SICP 习题 2.21 开始引入了map,准确来讲,是这道题目前的文章内容开始引入了map. 为了完成本习题,甚至说为了完成本文以后的阅读,请读者一定要理解清楚map的概念,正如书中所说,"map是一种很重要的结构,不仅因为它代表了一种公共模式,而且因为它建立起了一种处理表的高层抽象". 虽然说得非常高大上,但是map的概念理解起来并不困难,最基本的理解就是给你一组东西,你对这组东西执行map操作的话,就是把这组东西里面的成员逐个拿出来执行对应操作. 比如(map  做朋友  土豪们

《C++编程思想》 第七章 常 量 (习题+解答)

一.相关知识点        在 C语言中可以选择这样书写: const bufsize:        这样写在C++中是不对的,而 C编译器则把它作为一个声明,这个声明指明在别的地方有存储分配.因为C默认const是外部连接的, C++默认const是内部连接的,这样,如果在 C++中想完成与C中同样的事情,必须用extern把连接改成外部连接: extern const bufsize;//declaration only 这种方法也可用在C语言中. 指向const的指针 使用指针定义的技

Coursera公开课Functional Programming Principles in Scala习题解答:Week 2

引言 OK.时间很快又过去了一周,第一周有五一假期所以感觉时间绰绰有余,这周中间没有假期只能靠晚上加周末的时间来消化,其实还是有点紧张呢!后来发现每堂课的视频还有对应的课件(Slide).字幕(subtitles)可以下载,这样下载视频学习和在线学习就只差课程中间的Exercise了 Week 2主要讲函数,函数在Scala里是first-class citizen,可以在任意域内出现,这门课其实也是在借Scala来讲函数式编程原理.好了,不多说,进入习题解析. 这周的作业主要是使用函数来表示一

Introdution to 3D Game Programming With DirectX11 第11章 习题解答

11.1 这道题要注意使用了line strip,由于曾经一直用triangle list,所以在几何渲染的时候easy算错定点描绘的顺序. 贴一些代码,大概就能把这个问题解释清楚了,由于框架还不是特别熟,所以是在原有样例的基础上建立的自己的代码 void TreeBillboardApp::BuildCircleBuffers() { // //Create the vertex buffer // std::vector<Vertex::Basic32> vertices(32); for

读书笔记之:C++ Primer (第4版)及习题(ch12-ch18) [++++]

读书笔记之:C++ Primer (第4版)及习题(ch12-ch18) [++++] 第12章 类 1. 类的声明与定义:前向声明,不完全类型 2. 从const函数返回*this 3. 可变数据成员mutable 4. 用于const对象的构造函数:构造函数不能声明为const 5. 构造函数初始化式 构造函数的执行分为两个阶段:初始化阶段和普通的计算阶段 6. 构造函数初始化列表 7. 默认实参与构造函数 8. 类通常定义一个默认构造函数,不然的话使用起来会很麻烦. 9. 使用默认构造函数