// 记录基础很重要!
import java.util.ArrayList;
public class Demo4 {
public static void main(String[] args) {
String ss = "asdfghjklszxcv"; //创建字符串
ArrayList<Integer> array = new ArrayList<>();
char[] c = ss.toCharArray(); //将字符串转成字符数组
for (int i = 0; i <ss.length() ; i++) {
int d = ss.indexOf(c[i]);
array.add(d);
}
for (int j = 0; j < ss.length(); j++) {
if(j != array.get(j)){
System.out.println(j);
System.out.println(c[j]);
}
}
}
}
/*思路:indexof 方法返回字符在字符串中首次出现的位置,字符数组 char[] c,从0 开始逐个判断,所以整个for循环会返回(1 2 3 4…),将返回的位置标号添加到列表中。j 从0到 ss字符串的末尾 (1 2 3 4…) 顺序刚好与indexof 返回的结果一致来判断 j 和 array数组中添加的位置标号(1 2 3 4…) 是否相等,如果不相等 则说明这个位置的字符已经出现过了。则记录此位置标号 来输出那个被找出的重复的字符。