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、请编写程序,完成模拟斗地主案例

原创粉丝点击