Java:求 随机字符串中, 每个大写字母和其出现次数! 按照大写字母在字符串中出现顺序来遍历打印结果!

代码如下:

public static void main(String[] args) {
    
    
		Random ran = new Random();
		//随机一个字符串从指定的字符中随机选取32个出来!
		String letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
		char[] cs = new char [32];
		for (int i = 0; i < cs.length; i++) {
    
    
			int index = ran.nextInt(letters.length());//0--字符串的长度-1 下标
			cs[i] = letters.charAt(index);
			
		}
		//构建字符串
		String str = new String(cs);
		System.out.println(str);
		//使用LinkedHashMap保存字母和出现次数!
		//字母第一次出现的时候,就向map中保存此字母和次数1
		//字母已经出现过的情况,就从map中取出字母的次数,+1,设置到map中保留!
		//containsKey 判断某字母到底有没有在map中保存过!
		LinkedHashMap<Character, Integer> map = new LinkedHashMap<Character, Integer>();
		//遍历字符串str取出每个字符
		for (int i = 0; i < str.length(); i++) {
    
    
			Character ci = str.charAt(i); //自动装箱
			if (!Character.isUpperCase(ci)) {
    
    //不是大写字母就直接到下一个字母!
				continue;
			}
			if (map.containsKey(ci)) {
    
    
				map.put(ci, map.get(ci)+1);
			}else {
    
    
				map.put(ci, 1);
			}
		}
		Set<Character> keySet = map.keySet();
		for (Character c : keySet) {
    
    
			System.out.println(c+":"+map.get(c));
		}
	}

解析已经写在了注释内.
对我的博客或其他方面有任何见解或问题的话都可以私信我
或者联系本人QQ:3128909688
微信:DreamHerome
欢迎致电

猜你喜欢

转载自blog.csdn.net/RViewSonic/article/details/107905762