[英]Can't figure out why int is duplicating in Java
我正在创建一个简单的Java程序,该程序在主类中要求一个字符串(输入),然后打印出字符串中有多少个元音(int计数)和辅音。 元音的数量非常合适,但是辅音的数量却增加了一倍,因此根据我的程序,字符串“ James”具有2个元音和6个辅音。
public class counter {
vowels p1 = new vowels();
public int con = 0;
public int count() {
String input = p1.getInput();
int i = 0;
int count = 0;
while (i < input.length()){
if (input.charAt(i) == 'a' || input.charAt(i) == 'e' || input.charAt(i) == 'i' || input.charAt(i) == 'o' || input.charAt(i) == 'u') {
count++;
} else if (input.charAt(i) != ' ') {
con++;
}
i++;
}
return count;
}
public int con() {
return con;
}
}
您正在使用实例成员con
来计数辅音,并且没有在count
方法的开头对其进行初始化,因此多次调用该方法将导致无效计数。
似乎您正在使用int con = 0;
用于辅音计数,而不是使用
else if (input.charAt(i) != ' ') {
con++;
}
只需使用else { con++; }
else { con++; }
备用:从字符串长度'com = P1.length()-count;'中减去元音计数。
尝试在方法“ count”的开头将变量con设置为零。
con = 0;
我希望它能起作用。
char ch;
for(int i = 0; i < str.length(); i ++)
{
ch = str.charAt(i);
if(ch == 'a' || ch == 'A' || ch == 'e' || ch == 'E' || ch == 'i' ||
ch == 'I' || ch == 'o' || ch == 'O' || ch == 'u' || ch == 'U')
count ++;
else
con;
}
你点头考虑元音是大写的情况我在代码中解决了
希望我的代码在这方面对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.