[英]Java number of cons in a string, not working
我试图找到一个字符串中辅音的数量。 以下是该方法的代码,但是在运行该方法时,它始终返回0。 我在用! 错误? 我是否需要针对每个案例进行处理? 即:!(ch ==('a'))|| !(ch ==('o'))
public int numCons() {
int i = 0;
int length = quote.length();
int con = 0;
String string;
for (i = 0; i < length; i++) {
//string = quote.substring(i);
char ch = quote.charAt(i);
if (!(ch == ('a') || ch == ('e') || ch == ('i')
|| ch == ('o') || ch == ('u') || ch == ('y') || ch == ('A')
|| ch == ('E') || ch == ('I') || ch == ('O') || ch == ('U') || ch == ('Y')))
if (Character.isLetter(i))
con++;
}
return con;
}
i
是您要遍历的索引,而不是字符。 你可能是要检查
if (Character.isLetter(ch))
顺便说一句,如果您使用的是Java 8+,则可以使用Stream API在一行中完成此操作:
quote.chars().filter(c -> !"aeiou".contains(String.valueOf((char) c).toLowerCase())).count();
(可能有一种更优雅的方式,这只是我写的第一件事)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.