A:简答题
1、请把我们讲解过的所有类中的方法在API中找到,并使用自己的话进行描述
答案:
Map
public V put(K key, V value):
public void clear():
public V remove(Object key):
public boolean containsKey(Object key):
public boolean containsValue(Object value):
public boolean isEmpty():
public Set

class Car {
private String brand;//品牌
private int year; //制造年份
public Car () {}
public Car (String brand, int year) {
this.brand = brand;
this.year = year;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getBrand(){
return brand;
}
public void setYear(int year) {
this.year = year;
}
public int getYear(){
return year;
}
}

1、给出以下代码,请问该程序的运行结果是什么?如有问题,请说明原因。

class Test {
public static void main(String[] args) {
HashMap<Integer, String> hm = new HashMap<Integer, String>();
hm.put(new Integer(23), "Jim");
hm.put(new Integer(23), "Kevin");
Set<Integer> keys = hm.keySet();
for (Integer key : keys) {
String value = hm.get(key);
System.out.println( value );
}
}
}

2、给出以下代码,已定义好Car类,请问该程序的运行结果是什么?如有问题,请说明原因。

class Test {
public static void main(String[] args) {
HashMap<Car, String> hm = new HashMap<Car, String>();
hm.put(new Car("宝马x5", 2014), "Jim");
hm.put(new Car("宝马x5", 2014), "Kevin");
Set<Car> cars = hm.keySet();
for (Car car : cars) {
String value = hm.get(car);
System.out.println(value);
}
}
}

3、给出以下代码,请问该程序的运行结果是什么?如有问题,请说明原因。

class Test {
public static void main(String[] args) {
TreeMap<Integer, String> tm = new TreeMap<Integer, String>();
tm.put(new Integer(11), "Tom");
tm.put(new Integer(45), "David");
tm.put(new Integer(23), "Jim");
tm.put(new Integer(23), "Kevin"); Set<Integer> keys = tm.keySet();
for (Integer key : keys) {
String value = tm.get(key);
System.out.println( key +"--"+value );
}
}
}

4、给出以下代码,已定义好Car类,请问该程序的运行结果是什么?如有问题,请说明原因。

class Test {
public static void main(String[] args) {
TreeMap<Car, String> tm = new TreeMap<Car, String>(
new Comparator<Car>() {
@Override
public int compare(Car c1, Car c2) {
int num1 = c1.getYear() - c2.getYear();
int num2 = (num1 == 0) ? (c1.getBrand().compareTo(c2
.getBrand())) : num1;
return num2;
}
});
tm.put(new Car("宝马X5", 2014), "Tom");
tm.put(new Car("宝马X5", 2014), "David");
tm.put(new Car("奥迪Q7", 2014), "Jim");
tm.put(new Car("奥迪A4L", 2014), "Kevin");
Set<Car> cars = tm.keySet();
for (Car car : cars) {
String value = tm.get(car);
System.out.println(car.getBrand() + "--" + car.getYear() + "--"
+ value);
}
}
}

C:编程题
1、请编写程序,统计一个字符串中每个字符出现的次数
答:

package StudentWork2;

import java.util.HashMap;
import java.util.Scanner;
import java.util.Set; /**
* 1、请编写程序,统计一个字符串中每个字符出现的次数
* @author Aoman_Hao
*/
public class Day16_Work1 { public static void main(String[] args) {
//屏幕录入
Scanner sc = new Scanner(System.in);
System.out.println("输入一串字符:");
String Str = sc.next();
System.out.println(Str); HashMap<Character, Integer> Ha = new HashMap<Character, Integer>();
//转为数组
char[] arr = Str.toCharArray();
if(arr.length !=0){
for(char i:arr){ Integer value = Ha.get(i);
//第一次录入,值对应为null。第二次录入读取上一次录入的值。
if(value==null){
Ha.put(i, 1);
}else{
value++;
Ha.put(i, value);
}
}
//键集合,存储容器,遍历拼接,输出
Set<Character> Ha_keyset = Ha.keySet();
StringBuffer Sb = new StringBuffer();
for(Character key:Ha_keyset){
Sb.append(key).append(":").append(Ha.get(key)).append("个").append("\r\n");
}
System.out.println(Sb);
}
}
}
输出:
输入一串字符:
adadadad
adadadad
d:4个
a:4个

2、请编写程序,存储自定义对象到HashMap集合中,并采用两种方式遍历

package StudentWork2;

import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Set; /**
* @author Aoman_Hao
*/
public class Day16_Work2_HashMap { public static void main(String[] args) {
HashMap<Student, String> Hash = new HashMap<Student, String>(); Hash.put(new Student("依依", 22), "s1");
Hash.put(new Student("尔尔", 23), "s5");
Hash.put(new Student("散散", 24), "s7");
//获得键的集合,遍历
Set<Student> Hash_keyset = Hash.keySet();
StringBuffer Sb = new StringBuffer();
if(!Hash_keyset.isEmpty()){
for(Student key:Hash_keyset){
Sb.append("姓名:").append(key.getName()).append("年龄:").append(key.getAge()).append("编号:").append(Hash.get(key)).append("\r\n");
}
System.out.println(Sb);
} //获得键值对的集合,遍历
Set<Entry<Student, String>> Hash_entry = Hash.entrySet();
StringBuffer Sb2 = new StringBuffer();
if(!Hash_entry.isEmpty()){
for(Entry<Student, String> Stu:Hash_entry){
Sb2.append("姓名:").append(Stu.getKey().getName()).append("\t")
.append("年龄:").append(Stu.getKey().getAge()).append("\t")
.append("编号:").append(Stu.getValue()).append("\r\n");
}
}System.out.println(Sb2);
}
}
输出:
姓名:依依年龄:22编号:s1
姓名:散散年龄:24编号:s7
姓名:尔尔年龄:23编号:s5 姓名:依依 年龄:22 编号:s1
姓名:散散 年龄:24 编号:s7
姓名:尔尔 年龄:23 编号:s5

3、请编写程序,存储自定义对象到TreeMap集合中,并采用两种方式遍历
4、请编写程序,完成集合嵌套,并遍历
jc 基础班
张三 20
李四 22
jy 就业班
王五 21
赵六 23

package StudentWork2;

import java.util.HashMap;
import java.util.Set; /**
* jc 基础班
张三 20
李四 22
jy 就业班
王五 21
赵六 23
* @author Aoman_Hao
*/
public class Day16_work3 { public static void main(String[] args) { //小集合
HashMap<String, Integer> JC = new HashMap<String,Integer>();
HashMap<String, Integer> JY = new HashMap<String,Integer>();
//大集合
HashMap<String, HashMap<String, Integer>> Class_Hash = new HashMap<String,HashMap<String, Integer>>(); JC.put("张三", 20);
JC.put("李四", 21);
JY.put("王五", 22);
JY.put("赵六", 23); Class_Hash.put("基础班", JC);
Class_Hash.put("就业班", JY); Set<String> Class_Hash_keyset = Class_Hash.keySet(); for(String Class_Name_key:Class_Hash_keyset){ HashMap<String, Integer> Class_name = Class_Hash.get(Class_Name_key);
Set<String> Class_Nei_key = Class_name.keySet();
System.out.println(Class_Name_key); StringBuffer Sb = new StringBuffer();
for(String Stu_key:Class_Nei_key){
Sb.append("\t").append(Stu_key).append("\t").append(Class_name.get(Stu_key))
.append("\r\n"); }
System.out.println(Sb);
}
} }
输出:就业班
赵六 23
王五 22 基础班
张三 20
李四 21

HashMap嵌套HashMap
HashMap嵌套ArrayList
5、请编写程序,完成模拟斗地主案例

Java_Day16_作业的更多相关文章

  1. python10作业思路及源码:类Fabric主机管理程序开发(仅供参考)

    类Fabric主机管理程序开发 一,作业要求 1, 运行程序列出主机组或者主机列表(已完成) 2,选择指定主机或主机组(已完成) 3,选择主机或主机组传送文件(上传/下载)(已完成) 4,充分使用多线 ...

  2. SQLServer2005创建定时作业任务

    SQLServer定时作业任务:即数据库自动按照定时执行的作业任务,具有周期性不需要人工干预的特点 创建步骤:(使用最高权限的账户登录--sa) 一.启动SQL Server代理(SQL Server ...

  3. 使用T-SQL找出执行时间过长的作业

        有些时候,有些作业遇到问题执行时间过长,因此我写了一个脚本可以根据历史记录,找出执行时间过长的作业,在监控中就可以及时发现这些作业并尽早解决,代码如下:   SELECT sj.name , ...

  4. T-SQL检查停止的复制作业代理,并启动

        有时候搭建的复制在作业比较多的时候,会因为某些情况导致代理停止或出错,如果分发代理时间停止稍微过长可能导致复制延期,从而需要从新初始化复制,带来问题.因此我写了一个脚本定期检查处于停止状态的分 ...

  5. Python09作业思路及源码:高级FTP服务器开发(仅供参考)

    高级FTP服务器开发 一,作业要求 高级FTP服务器开发 用户加密认证(完成) 多用户同时登陆(完成) 每个用户有不同家目录且只能访问自己的家目录(完成) 对用户进行磁盘配额,不同用户配额可不同(完成 ...

  6. 个人作业week3——代码复审

    1.     软件工程师的成长 感想 看了这么多博客,收获颇丰.一方面是对大牛们的计算机之路有了一定的了解,另一方面还是态度最重要,或者说用不用功最重要.这些博客里好些都是九几年或者零几年就开始学习编 ...

  7. 个人作业-week2:关于微软必应词典的案例分析

    第一部分 调研,评测 评测基于微软必应词典Android5.2.2客户端,手机型号为MI NOTE LTE,Android版本为6.0.1. 软件bug:关于这方面,其实有一些疑问.因为相对于市面上其 ...

  8. 软件工程第二次作业——git的使用

    1. 参照 http://www.cnblogs.com/xinz/p/3803109.html 的第一题,每人建立一个GitHub账号,组长建立一个Project,将本组成员纳入此Porject中的 ...

  9. hadoop作业调度策略

    一个Mapreduce作业是通过JobClient向master的JobTasker提交的(JobTasker一直在等待JobClient通过RPC协议提交作业),JobTasker接到JobClie ...

  10. SQL SERVER 2008复制数据库时发生执行SQL Server代理作业错误

    1. 情况说明 在利用SQL SERVER数据库复制向导,能够很方便的将一个数据库从一台服务器复制到另一台服务器上,具体操作步骤也十分简单. 不过在实际操作过程常发生“执行SQL SERVER代理作业 ...

随机推荐

  1. Generative Pre-trained Transformer(GPT)模型技术初探

    一.Transformer模型 2017年,Google在论文 Attention is All you need 中提出了 Transformer 模型,其使用 Self-Attention 结构取 ...

  2. MIT6.824 Distributed-System(Lab1)-MapReduce

    Lab address: http://nil.csail.mit.edu/6.824/2020/labs/lab-mr.html paper: MapReduce: Simplified Data ...

  3. GraphQL渗透测试详解

    GraphQL介绍 GraphQL概述 GraphQL 是一种查询语言,用于 API 设计和数据交互.它是由 Facebook 发布的一款新型的数据查询和操作语言,自 2012 年起在内部使用,自 2 ...

  4. 如何解决Gridea部分主题不渲染Katex的问题

    很多好看的主题因为对象不是信息学,所以忽视了公式,即 \(\LaTeX\) . 导致,如果你想渲染一个 \(n\) ,结果成了 nn 这个简单,导入文件即可. 找到主题文件夹,打开 templates ...

  5. [OpenCV-Python] 16 图像平滑

    文章目录 OpenCV-Python:IV OpenCV中的图像处理 16 图像平滑 16.1 平均 16.2 高斯模糊 16.3 中值模糊 16.4 双边滤波 OpenCV-Python:IV Op ...

  6. 2023-02-11:给你两个整数 m 和 n 。构造一个 m x n 的网格,其中每个单元格最开始是白色, 请你用 红、绿、蓝 三种颜色为每个单元格涂色。所有单元格都需要被涂色, 涂色方案需要满足:

    2023-02-11:给你两个整数 m 和 n .构造一个 m x n 的网格,其中每个单元格最开始是白色, 请你用 红.绿.蓝 三种颜色为每个单元格涂色.所有单元格都需要被涂色, 涂色方案需要满足: ...

  7. 2022-04-21:给定一个包含 [0,n) 中不重复整数的黑名单 blacklist, 写一个函数从 [0, n) 中返回一个不在 blacklist 中的随机整数, 对它进行优化使其尽量少调用系

    2022-04-21:给定一个包含 [0,n) 中不重复整数的黑名单 blacklist, 写一个函数从 [0, n) 中返回一个不在 blacklist 中的随机整数, 对它进行优化使其尽量少调用系 ...

  8. 2021-05-23:给定一个字符串str,str表示一个公式,公式里可能有整数、加减乘除符号和左右括号。返回公式的计算结果,难点在于括号可能嵌套很多层。str=“48*((70-65)-43)+8*

    2021-05-23:给定一个字符串str,str表示一个公式,公式里可能有整数.加减乘除符号和左右括号.返回公式的计算结果,难点在于括号可能嵌套很多层.str="48*((70-65)-4 ...

  9. LeetCode 周赛 345(2023/05/14)体验一题多解的算法之美

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 往期回顾:LeetCode 双周赛第 104 场 · 流水的动态规划,铁打的结构化思考 周赛概览 T1. 找 ...

  10. 安装Visio 2013与原本的office冲突的最终解决方案

    一. 下载office visio 2013 这个直接去网上下载一个安装包解压即可 或者直接云盘下载 https://pan.baidu.com/s/1jWGFoHAjegBBvyrL1rq4DQ 提 ...