当前位置:编程学习 > JAVA >>

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));
    }
}
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,