publicstaticvoidmain(String[] args){String name ="张三.png";List<String> list =Arrays.asList("张三.png","1张三","张三1.png","张三3.png","张三2.png");String rename =findRename(name, list,0);System.out.println(rename);}
张三4.png
publicStringfindRename(String name,List<String> nameList,int nums){int num = nums;for(String s : nameList){if(s.startsWith(name)){
num++;}}if(num >0&& num != nums){String front = name.substring(0, name.indexOf("."));if(isNumeric(front)){
front = front.substring(0, front.length()-1);}String after = name.substring(name.lastIndexOf(".")+1);
name = front + num +"."+ after;returnfindRename(name, nameList, num);}else{return name;}}
```java
```java
publicstaticbooleanisNumeric(String str){boolean flag =false;for(int i =0; i < str.length(); i++){
flag =Character.isDigit(str.charAt(i));}return flag;}