快致郁了,求大佬帮忙
package com.wang.practice;import
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/*
* 键盘录入一个文件夹路径,
* 1) 统计该文件夹下的各种后缀名的文件的个数
* 例如:.txt有10个,.java有30个......
*/
public class Demo15 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入一个文件路径:");
String s=sc.next();
File file=new File(s);
String fileName="";
String suffix="";
int num=0;
List<String> list=new ArrayList<String>();
File[] files=file.listFiles();
for(File ff:files){
if(ff.isFile()){
fileName=ff.getName();
suffix=fileName.substring(fileName.lastIndexOf("."),fileName.length());
for(int i=0;i<files.length;){
list.add(suffix);
break;
}
}
}
int [] sum=new int[list.size()];
String[] str=new String[list.size()];
for(int i=0;i<list.size();i++){
for(int j=0;j<list.size();j++){
if(!(list.get(i).equals(list.get(j)))){
str[i]=list.get(i);
}
if(list.get(i).equals(list.get(j))){
sum[i]++;
}
}
}
// System.out.println(Arrays.toString(str));
// System.out.println(Arrays.toString(sum));
for(int i=0;i<str.length;i++){
//System.out.println(str[i]+" aa"+i);
for(int j=0;j<str.length;j++){
// System.out.println(str[j]+" bb"+j);
if(!(str[i]==str[j])){
continue;
}
System.out.println(str[i]+"出现了"+sum[i]+"次");
}
}
}
}
这是结果
输出的是我的E盘下aa文件夹的内容
想要实现的效果是只输出一行最终结果,比如 .jpg出现了2次,.txt出现了3次
求大佬帮助