我正在创建一个简单的Java程序,在主类中请求一个字符串(输入),然后打印出字符串中有多少元音(int count)和辅音。元音的数量完美,但辅音的数量加倍,所以字符串"詹姆斯"根据我的计划,有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;
}
}
答案 0 :(得分:2)
您正在使用实例成员con
来计算辅音,并且您不会在count
方法的开头对其进行初始化,因此多次调用该方法将导致无效计数。
答案 1 :(得分:0)
好像你正在使用 int con = 0;
用于辅音计数 所以不要使用
else if (input.charAt(i) != ' ') {
con++;
}
简单地使用
else {
con++;
}
替代: 从字符串长度中减去元音数 'com = P1.length() - count;'
答案 2 :(得分:0)
尝试在方法“count”的开头将变量con设置为零。
con = 0;
我希望它有效。
答案 3 :(得分: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;
}
当你的元音在我的代码中解决了这个问题时,你已经认真考虑了这个案例
希望我的代码在这方面帮助你。谢谢。快乐编码