为了账号安全,请及时绑定邮箱和手机立即绑定

chs中有空格,但是语句貌似就没有执行,求解!for循环里面的判断怎么写?

chs中有空格,但是语句貌似就没有执行,求解!for循环里面的判断怎么写?

汪汪一只猫 2023-04-16 18:14:30
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


查看完整回答
反对 回复 2023-04-20
?
肥皂起泡泡

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


查看完整回答
反对 回复 2023-04-20
  • 2 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信