java数组操作
一个同学问的一个问题
统计姓名数组中不同姓出现的次数
public static void main(String[] args) {
String[] names={"姚顺菲","张茹双","高琳琳","吴燕霞","倪晨玉","张扬","李金林","张滨滨","王顺利","张国良","刘俊智","薛甲鹏","孙帅琪","王肖远","梁金星",
"张迎光","王玉龙","马晨凯","田岫琨","赵嘉琪","李墨浩","周致远","张冲","赵文豪","余庭东","张飞洋","齐松洋","常豪杰","胡万浩","秦高祥","任朝杰","张满意",
"田永辉","崔建奇","王志伟","郑浩东","孟帅康","李宇航","刘明明","杨昆仑","雷强强","付肖伟"};
numFristName(names);
}
public static void numFristName(String[] names){
String[] x=new String[names.length];
ArrayList fristName=new ArrayList<>();//不同的姓存入动态数组
ArrayList num=new ArrayList<>();//对应姓出现的次数
//提取姓到新的数组
for (int i = 0; i < x.length; i++) {
x[i] = names[i].charAt(0)+"";
}
//双重循环判断每个姓出现的次数
for (int i = 0; i < x.length; i++) {
int count=1;
for (int j = i+1; j < x.length; j++) {
if (x[i]!=null) {
if (x[i].equals(x[j])) {
count++;
x[j]=null;
}
}
}
if (x[i]!=null) {
fristName.add(x[i]);
num.add(count);
}
}
for (Object o : fristName) {
System.out.print(o+"\t");
}
System.out.println();
for (Object o : num) {
System.out.print(o+"\t");
}
}