JAVA 基础 day-20 练习


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

猜你喜欢

转载自blog.csdn.net/alexzt/article/details/79804202
今日推荐