package TestStart;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Random;
import java.util.Set;
public class Test5 {
public static void main(String[] args) {
// 随机生成一个存储英文字母(不区分大小写)的一维数组
char[] randomArray = randomArray();
// 转换为小写的数组
char[] changeCharCase = changeCharCase(randomArray);
// 统计每个字母出现的个数
Map<Character, Integer> charCount = getCharCount(changeCharCase);
//遍历输出
Set<Entry<Character, Integer>> entrySet = charCount.entrySet();
System.out.println();
for(Entry<Character, Integer> set : entrySet) {
Character key = set.getKey();
int value = set.getValue().intValue();
System.out.println(key + "出现" + value + "次");
}
}
/**
* 统计每个字符出现的个数
* @param ch
* @return map中 key:字符 value:出现的个数
*/
private static Map<Character, Integer> getCharCount(char[] ch) {
Map<Character, Integer> map = new HashMap<>();
for (char c : ch) {
// 若字符首次出现直接存入 否则value值加1
if (!map.containsKey(c)) {
map.put(c, 1);
} else {
map.put(c, map.get(c) + 1);
}
}
return map;
}
/**
* 将字符数组中字母转换为小写
* @param arr
* @return 转换过后的字符数组
*/
private static char[] changeCharCase(char[] arr) {
// 定义一个新的字符串流,将原始含有大小写的数组 统一转换成大写或者小写
StringBuffer buff = new StringBuffer();
System.out.print("\n转换后:");
for (int i = 0; i < arr.length; i++) {
// 将大写转换为小写
char lowerCase = Character.toLowerCase(arr[i]);
System.out.print(lowerCase);
buff.append(lowerCase);
}
char[] charArray = buff.toString().toCharArray();
return charArray;
}
// 随机生成一个一维字符数组(不区分大小写)
private static char[] randomArray() {
String str = "abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ";
char[] charArray = str.toCharArray();
StringBuffer buff = new StringBuffer();
Random ran = new Random();
// 可以随意选取数组大小
int randomCount = 11;
System.out.print("随机生成数组:");
for (int i = 0; i < randomCount; i++) {
int nextInt = ran.nextInt(52);
char charAt = str.charAt(nextInt);
System.out.print(charAt);
buff.append(charAt);
}
char[] randomArray = buff.toString().toCharArray();
return randomArray;
}
}
输出效果如下

本文介绍了一个Java程序,该程序首先随机生成一个包含英文字母(不区分大小写)的一维数组,然后将所有字母转换为小写,接着统计并输出每个字母在数组中出现的次数。
,统计每个字母出现的个数&spm=1001.2101.3001.5002&articleId=105275153&d=1&t=3&u=f8836eb1b1c44ba7a073f759a643734a)
5115

被折叠的 条评论
为什么被折叠?



