java 利用StringBuilder类 过滤重复字符删除重复数据函数代码
利用StringBuilder类的可变性,将去重之后的字符append进new的StringBuilder中
用循环遍历字符串中的单个字符,利用String类中的两个方法:
indexOf(): 返回指定字符第一次出现的索引(下标)
lastIndexOf(): 返回指定字符最后一次出现的索引(下标)
import java.util.Scanner;
public class yizuotu.net {//过滤重复字符串的方法
public static String filter(String s) {
//非空判断
if (s == null) {
return null;
}
StringBuilder 易做图d = new StringBuilder();//创建一个空的StringBuilder
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (s.indexOf(c) == s.lastIndexOf(c)) {//第一次出现的下标跟最后一次相等,表示当前字符没有出现重复,直接添加进StringBuilder中
易做图d.append(c);
} else {//出现重复
if (s.indexOf(c) == i) {//如果重复出现的字符的位置等于当先字符的索引值,即表示当前字符为重复字符出现的第一次,将其加入StringBuilder中
易做图d.append(c);
}
}
}
return 易做图d.toString();
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一串zzzyk.com字符串:");
String s = sc.next();
System.out.println("过滤重复字符之后的字符串:");
System.out.println(filter(s));
}
}