我的任务是创建函数,如果字符串参数包含 1,2 或 3 个“e”字符,则返回 true,需要 for 循环。看起来 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);}
2 回答
饮歌长啸
TA贡献1951条经验 获得超3个赞
删除 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);
}
有只小跳蛙
TA贡献1824条经验 获得超8个赞
你有一个额外的分号“;” 在 if 语句上,所以如果它为真并且计数总是上升,则不会发生任何事情
改变
if (sLetter.equals("e"));
{
count++;
}
到
if (sLetter.equals("e")) {
count++;
}
你也可以通过做来简化逻辑
if (letter == 'e') {
count++;
}
添加回答
举报
0/150
提交
取消