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

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


汪汪一只猫
浏览 96回答 2
2回答

30秒到达战场

因为chs的每一个元素是个char,不是String,而" "是一个String, " ".equals(' ')总是false。你的判断语句改成这样就可以了:&nbsp;if&nbsp;(chs[i]&nbsp;==&nbsp;'&nbsp;')另外,如果只是要找空格位置的话,用indexOf就行了:&nbsp;System.out.println("Hello&nbsp;world".indexOf('&nbsp;'));&nbsp;//输出5

肥皂起泡泡

如果你想要找出所有空格的位置,还可以用Java 8 stream:String&nbsp;str&nbsp;=&nbsp;"i&nbsp;am&nbsp;good&nbsp;";char[]&nbsp;chs&nbsp;=&nbsp;str.toCharArray(); IntStream.range(0,&nbsp;chs.length).filter(i&nbsp;->&nbsp;chs[i]&nbsp;==&nbsp;'&nbsp;').forEach(System.out::println);//&nbsp;output:&nbsp;1,&nbsp;4,&nbsp;9
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java