请你们中的一些人向我解释一下 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);
}
代码正在删除所有重复字符,我无法确定它到底是如何做到这一点的,我想在继续学习之前完全了解它是如何工作的。
最佳答案
我建议您引用String.indexOf(int)
Javadoc其中说(部分)
Returns the index within this string of the first occurrence of the specified character.
当您说 if(word.indexOf(word.charAt(i)) == i)
时,这与说当前 char
是否是第一个是相同的当前 char
的出现将其附加到结果
。否则不要附加它。因此,它仅在角色首次出现时添加角色。
关于java - if block 如何删除重复字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53251779/