我的任务是创建一个函数,如果字符串参数包含1,2或3个“ e”字符,则返回true,需要循环。看起来equals()方法传入所有内容,并且无论是否sLetter =“ e”都增加计数器。也许问题出在其他地方?
static boolean checkLetter (String paramOne){
int count = 0;
for (int i = 0; i <= paramOne.length() - 1; i++) {
char letter = paramOne.charAt(i);
String sLetter = Character.toString(letter);
if (sLetter.equals("e"));
{
count++;
}
}
System.out.print((count >= 1) && (count <= 3));
return (count >= 1) && (count <= 3);
}
答案 0 :(得分:-1)
从if语句的末尾删除分号。
static boolean checkLetter (String paramOne){
int count = 0;
for (int i = 0; i <= paramOne.length() - 1; i++) {
char letter = paramOne.charAt(i);
String sLetter = Character.toString(letter);
if (sLetter.equals("e"))
{
count++;
}
}
System.out.print((count >= 1) && (count <= 3));
return (count >= 1) && (count <= 3);
}
答案 1 :(得分:-1)
您有一个多余的分号“;”在if语句上,因此如果它为true并且计数总是增加,则什么也不会发生
更改
if (sLetter.equals("e"));
{
count++;
}
到
if (sLetter.equals("e")) {
count++;
}
您还可以通过这样做简化逻辑
if (letter == 'e') {
count++;
}