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