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
4 回答969 阅读
4 回答879 阅读
585 阅读
491 阅读
794 阅读
22 阅读
因为chs的每一个元素是个char,不是String,而" "是一个String, " ".equals(' ')总是false。你的判断语句改成这样就可以了:
另外,如果只是要找空格位置的话,用indexOf就行了:
System.out.println("Hello world".indexOf(' ')); //输出5