Java_Day16_作业
来源:互联网 发布:兰特报价软件 编辑:程序博客网 时间:2024/06/17 14:03
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); } } } 输出:输入一串字符:adadadadadadadadd: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_作业
- 作业
- 作业
- 作业
- 作业
- 作业
- 作业
- 作业
- 作业
- 作业
- 作业
- 作业~~~~~~~~~~~~~
- 作业
- 作业
- 作业
- 作业
- 作业
- 作业
- 一位资深程序员大牛给予Java初学者的学习路线建议
- pymysql 对数据库的增删改查
- 宽度优先搜索 最短路径
- 队列基本操作-C语言
- 后台获取的json数据转换成树结构数据
- Java_Day16_作业
- JDK1.8新特性值Optional
- php 运行方式 cgi,fastcgi,php-fpm的区别与联系
- LightOJ
- Windows系统命令行设置环境变量
- C++PrimerPlus第三章处理数据学习随笔
- 区域生长(冈萨雷斯数字图像处理)
- C语言题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
- LeetCode(Array)---------Two Sum