if 块如何删除重复字符?

你们中的一些人能否向我解释一下 if 部分在这段代码中究竟是如何工作的——


public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    System.out.print("Input a word: ");

    String word = "Programming in Java.";

    String result = "";

    for (int i = 0; i < word.length(); i++){


        // ***** HERE *****

        if (word.indexOf(word.charAt(i)) == i){

            result += word.charAt(i);

        }

        // *****


    }

    System.out.println(result);

}

该代码正在删除所有重复的字符,我无法确定它究竟是如何做到的,我想在继续学习之前完全了解它是如何工作的。


偶然的你
浏览 137回答 1
1回答

慕勒3428872

我推荐你参考String.indexOf(int)Javadoc,它说(部分)返回此字符串中第一次出现指定字符的索引。当您说if(word.indexOf(word.charAt(i)) == i)这与说当前是否是当前char的第一次出现时char将其附加到result.&nbsp;否则不要附加它。因此,只有在首次出现时才会添加字符。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java