1.分析以下需求,并用代码实现:
(1)定义一个学生类Student,包含属性:姓名(String name)、年龄(int age)
(2)定义Map集合,用Student对象作为key,用字符串(此表示表示学生的住址)作为value
(3)利用四种方式遍历Map集合中的内容,格式:key::value
package exrcise; /* * 1.分析以下需求,并用代码实现: (1)定义一个学生类Student,包含属性:姓名(String name)、年龄(int age) (2)定义Map集合,用Student对象作为key,用字符串(此表示表示学生的住址)作为value (3)利用四种方式遍历Map集合中的内容,格式:key::value * */ import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class demo1 { public static void main(String[] args) { // TODO Auto-generated method stub HashMap<Student, String> map = new HashMap<>(); map.put(new Student("alex1", 111), "xx路xx1号"); map.put(new Student("alex2", 112), "xx路xx2号"); map.put(new Student("alex3", 113), "xx路xx3号"); map.put(new Student("alex4", 114), "xx路xx4号"); map.put(new Student("alex5", 115), "xx路xx5号"); map.put(new Student("alex6", 116), "xx路xx6号"); for(Student s : map.keySet()) { System.out.println(s + "..." + map.get(s)); } Iterator it = map.keySet().iterator(); while(it.hasNext()) { Student key = (Student) it.next(); System.out.println(key + "..." + map.get(key)); } Set<Entry<Student,String>> entry = map.entrySet(); for (Entry<Student, String> entry2 : entry) { System.out.println(entry2.getKey() + "..." + entry2.getValue()); } Set<Entry<Student, String>> entry = map.entrySet(); Iterator it = entry.iterator(); for (Entry<Student, String> entry2 : entry) { System.out.println(entry2.getKey() + "..." + entry2.getValue()); } } }
2.分析以下需求,并用代码实现:
(1)利用键盘录入,输入一个字符串
(2)统计该字符串中各个字符的数量
(3)如:
用户输入字符串"If~you-want~to~change-your_fate_I_think~you~must~come-to-the-dark-horse-to-learn-java"
程序输出结果:-(9)I(2)_(3)a(7)c(2)d(1)e(6)f(2)g(1)h(4)i(1)j(1)k(2)l(1)m(2)n(4)o(8)r(4)s(2)t(8)u(4)v(1)w(1)y(3)~(6)
关键步骤:用set去重
package exrcise; import java.util.HashMap; import java.util.Map; import java.util.Scanner; import java.util.Set; /* * * 2.分析以下需求,并用代码实现: (1)利用键盘录入,输入一个字符串 (2)统计该字符串中各个字符的数量 (3)如: 用户输入字符串"If~you-want~to~change-your_fate_I_think~you~must~come-to-the-dark-horse-to-learn-java" 程序输出结果:-(9)I(2)_(3)a(7)c(2)d(1)e(6)f(2)g(1)h(4)i(1)j(1)k(2)l(1)m(2)n(4)o(8)r(4)s(2)t(8)u(4)v(1)w(1)y(3)~(6) * */ public class Demo2 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String inputStr = scan.next(); System.out.println(inputStr); strCount(inputStr); } private static void strCount(String inputStr) { StringBuffer sb = new StringBuffer(); Map<String, Integer> map = new HashMap<>(); sb.append("-"); for (int i = 0; i < inputStr.length(); i++) { int charCount = 0; char currentChar = inputStr.charAt(i); for (int j = 0; j < inputStr.length(); j++) { if(currentChar==inputStr.charAt(j)) { charCount++; } } map.put(currentChar+"", charCount); } Set<String> set = map.keySet(); for (String string : set) { sb.append("(" + map.get(string) + ")" + string); } System.out.println(sb.toString()); } }