Java程序查找字符串中的重复字符


2022 年 4 月 1 日, Learn eTutorial
1395

在这里,我们将解释如何编写一个Java程序来查找字符串中的重复字符。

如何实现Java程序来查找字符串中的重复字符?

首先,我们需要声明类DC。然后打开主函数。声明字符串变量str1并为其赋值。声明一个字符数组并将字符串str1转换为字符。然后使用嵌套的for循环检查是否存在重复字符。如果找到,则将计数变量c加1,并将字符的位置更改为'1'。然后我们将通过检查条件`if i>0 and ch!='1'`来显示重复字符。

如何在Java中将字符串转换为字符数组?

我们可以使用`toCharArray()`方法将字符串转换为字符数组。`toCharArray()`的语法如下所示。

public char[] toCharArray().

它返回一个字符数组。字符数组的长度与字符串的长度相同。

算法

步骤 1: 声明具有公共修饰符的类DC

步骤 2:打开 main() 以启动程序,Java 程序执行从 main() 开始

步骤 3: 声明字符串变量str1并为其赋一些值。

步骤 4: 使用`toChaArray()`方法将字符串str1转换为数组s[]

步骤 5: 使用for循环设置i=0,检查i

步骤 6: 设置c=1

步骤 7: 使用另一个for循环设置j=i+1,检查条件j

步骤 8: 检查如果s[i]=s[j]s[j]!=' ' 则将c加1。

步骤 9: 将s[j]设置为1。将j加1并重复步骤7。

步骤 10: 检查如果c>1 且 s[i]!='1' 则显示s[i]

步骤 11: 将i加1并重复步骤5。

 

Java 源代码

                                          public class DC {
    public static void main(String[] args) {
        String str1 = "My name is siril";
        int c;

        //Convert the string to array  
        char s[] = str1.toCharArray();

        System.out.println("Duplicate characters in the string: ");

        for (int i = 0; i < s.length; i++) {
            c = 1;
            for (int j = i + 1; j < s.length; j++) {
                if (s[i] == s[j] && s[i] != ' ') {
                    c++;
                    //Set str1[j] to 1
                    s[j] = '1';
                }
            }

            if (c > 1 && s[i] != '1')
                System.out.println(s[i]);
        }
    }
}
                                      

输出

Duplicate characters in the string: 
i
s