java - 下面是我的用于查找重复项的 Java 程序。这里重复输出我只想重复的字符作为输出

标签 java string

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    String s1 = sc.nextLine();
    int count = 0;

    // breaking in to characters
    char[] str1 = s1.toCharArray();
    System.out.println("Duplicate are :");

    //creating outer loop for string length
    for (int i = 0; i < s1.length(); i++) {

        //creating inner loop for comparison
        for (int j = i + 1; j < s1.length(); j++) {

            //comparing value of i and j
            if (str1[i] == str1[j]) {

                System.out.println(str1[j]);
                System.out.println(count);

                //increment after comparison
                count++;
                break;
            }
        }
    }
    sc.close();
}

输出:

        aassdesdd
        Duplicate are :
        a
        s
        s
        d
        d

最佳答案

如果您只想打印连续的重复项(即对于输入“aassdesdd”,输出 asd 而不是 assdd),您可以将内部循环与相等检查结合起来:

for(int i = 0; i < s1.length(); i++) {
    for(int j = i + 1; j < s1.length() && str1[i] == str1[j]; j++) {
        System.out.println(str1[j]);
    }
}

关于java - 下面是我的用于查找重复项的 Java 程序。这里重复输出我只想重复的字符作为输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52422870/

相关文章:

java - 如何在 Tomcat 中拥有独立服务?

string - Swift - 将字符串拆分成多行

excel - 如何创建提取公式来分离数字客户 ID?

python - 增加尾随数字时的字符串操作怪异

java - Android - 替换字符串中的数据

java - Android中的保留字列表

java - 如何使用 GwtTestCase 测试带有 ui 绑定(bind)器的 gwt 复合组件?

java - 哪种声明变量的方式最快?

字符串指针数组的值可以被覆盖吗?

java - MapReduce 计数问题