通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。
比如字符串“abacacde”过滤结果为“abcde”。
以下程序的缺陷是字符串c的大小没有动态改变。
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
String s=in.next();
char[]c=s.toCharArray();
int len=c.length;
for(int i=1;i<len;i++){//从index=1的字符开始遍历
for(int j=0;j<i;j++){//与index<i的字符比较
if(c[j]==c[i]){//相等,则移位删除,并且最后一位置空
for(int k=i+1;k<len;k++)
c[k-1]=c[k];
c[len-1]='\0';
len--;
i--;
}
}
}
System.out.println(c);
}
}