char[] chs = st.toCharArray(); for(int i=0;i<chs.length; i++){ if((" ").equals(chs[i])){ System.out.println(i); } }
chs中有空格,但是语句貌似就没有执行,,求解!for循环里面的判断怎么写?
char[] chs = st.toCharArray(); for(int i=0;i<chs.length; i++){ if((" ").equals(chs[i])){ System.out.println(i); } }
chs中有空格,但是语句貌似就没有执行,,求解!for循环里面的判断怎么写?
接felix021的答案,如果你想要找出所有空格的位置,还可以用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
10 回答11.2k 阅读
15 回答8.4k 阅读
8 回答6.3k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
因为chs的每一个元素是个char,不是String,而" "是一个String, " ".equals(' ')总是false。你的判断语句改成这样就可以了:
另外,如果只是要找空格位置的话,用indexOf就行了: