java - 如何使用方法在java中的字符串中查找两个 'a'字符?

标签 java methods char

我正在编写一个遍历字符串并在恰好找到两个“a”字符时返回 true 的方法。显然,并非所有条件都得到满足,但我找不到解决方法。该问题指出必须满足 boolean 类型。但是,在循环内部,如果在一次迭代中没有找到 a,则什么也不会发生。我该如何解决这个问题?

import java.util.*;
import static java.lang.System.out;
    public static void main(String[] args) {
    }
    public static boolean hasTwoA(String s) {
        int aCounter = 0;
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == 'a') {
                aCounter++;
            } else if (aCounter == 2) {
                return true;
            } else if (i == s.length() - 1 && aCounter != 2) {
                return false;
            }
        }
    }
}

最佳答案

这样写会更整洁:

int aCounter = 0;
for (int i = 0; i < s.length() && aCounter <= 2; ++i) {
  if (s.charAt(i) == 'a') ++aCounter;
}
return aCounter == 2;

关于java - 如何使用方法在java中的字符串中查找两个 'a'字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35903655/

相关文章:

java - 在方法中使用 for 循环检查字符串中的数组项 - 打印 12 行而不是 1 行

javascript - 将 GET 参数传递给 JavaScript 函数?

c++ - 错误: cannot convert char (*)[] to char**' in initialization

java - 将 'items' 平均分配到桶中(尽力而为)

java - 如何在Java中原子地获取多个锁?

java - 如何捕获java程序中的读取和写入?

java - 适当设计全局数据访问和修改

java - 在创建我的 java 方法时找不到错误?

C函数删除所有大写字符

c++ - cin 如何将字符转换为相应的类型