char[] chs = st.toCharArray();
for(int i=0;i<chs.length; i++){
if((" ").equals(chs[i])){
System.out.println(i);
}
}
2 回答

30秒到達戰場
TA貢獻1828條經驗 獲得超6個贊
因為chs的每一個元素是個char,不是String,而" "是一個String, " ".equals(' ')總是false。你的判斷語句改成這樣就可以了:
if (chs[i] == ' ')
另外,如果只是要找空格位置的話,用indexOf就行了:
System.out.println("Hello world".indexOf(' ')); //輸出5

肥皂起泡泡
TA貢獻1829條經驗 獲得超6個贊
如果你想要找出所有空格的位置,還可以用Java 8 stream:
String str = "i am good ";char[] chs = str.toCharArray(); IntStream.range(0, chs.length).filter(i -> chs[i] == ' ').forEach(System.out::println);// output: 1, 4, 9
添加回答
舉報
0/150
提交
取消