你们中的一些人能否向我解释一下 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);}该代码正在删除所有重复的字符,我无法确定它究竟是如何做到的,我想在继续学习之前完全了解它是如何工作的。
1 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
我推荐你参考String.indexOf(int)
Javadoc,它说(部分)
返回此字符串中第一次出现指定字符的索引。
当您说if(word.indexOf(word.charAt(i)) == i)
这与说当前是否是当前char
的第一次出现时char
将其附加到result
. 否则不要附加它。因此,只有在首次出现时才会添加字符。
添加回答
举报
0/150
提交
取消