Skip to content

AP CSA FRQ 作答策略

FRQ 的目标是写出符合题目约束的 Java 代码。相比 MCQ,FRQ 更容易因为方法签名、边界条件或题目限制遗漏而失分。

作答流程

  1. 圈出必须使用的类、字段和方法。
  2. 抄准方法签名,不随意改参数或返回类型。
  3. 写核心逻辑前,先确定循环范围。
  4. 写完后用题目样例手动跑一遍。
  5. 检查是否处理空列表、首尾元素和特殊输入。

方法签名优先

很多 FRQ 失分不是算法不会,而是第一行就写错:

java
public int countMatches(String target)

写之前要确认:

  • 访问修饰符是否需要 public
  • 返回值是 voidintboolean 还是对象类型。
  • 参数名和类型是否与题目一致。
  • 是否应该使用已有字段,而不是新建无关变量。

循环边界检查

数组和列表题最常见的问题是边界。

java
for (int i = 0; i < values.length; i++) {
    // 访问 values[i]
}

如果代码里访问 i + 1,循环上界就需要调整:

java
for (int i = 0; i < values.length - 1; i++) {
    // 访问 values[i] 和 values[i + 1]
}

最后检查清单

  • 方法签名是否完全符合题目。
  • 是否返回了正确类型的值。
  • 循环是否覆盖所有需要的元素。
  • 是否越界访问数组或列表。
  • 是否误改了题目不允许修改的数据。
  • 是否使用了题目已经提供的方法。

FRQ 训练时建议每次都按这个清单检查,直到它变成固定习惯。

AP CSA 刷题文档库,服务于 AP Computer Science A 学习与练习。