你們中的一些人能否向我解釋一下 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);}該代碼正在刪除所有重復的字符,我無法確定它究竟是如何做到的,我想在繼續(xù)學習之前完全了解它是如何工作的。
1 回答

慕勒3428872
TA貢獻1848條經(jīng)驗 獲得超6個贊
我推薦你參考String.indexOf(int)
Javadoc,它說(部分)
返回此字符串中第一次出現(xiàn)指定字符的索引。
當您說if(word.indexOf(word.charAt(i)) == i)
這與說當前是否是當前char
的第一次出現(xiàn)時char
將其附加到result
. 否則不要附加它。因此,只有在首次出現(xiàn)時才會添加字符。
添加回答
舉報
0/150
提交
取消