选修AP计算机的同学应该知道,在AP计算机的考试中非常注重对于JAVA知识点的考察。但是AP计算机的难点却不在知识点而在读题干,因为AP计算机的题干基本上都很长,对于同学们来说,想要正确理解题干尝试代码的构造方法有点难度。下面给大家带来几道以往的AP计算机FRQ真题,看看大神们都是如何读取题干的。
2019FRQ3考到了接口(Interface),不过主要还是在写接口的实现类。题干理解如下:
接口名称:StringChecker
接口的实现类名称:CodeWordChecker
StringChecker接口的内容题干已经给出了:
public abstract boolean isValid(String str);
CodeWordChecker类的内容:
因为是实现类,因此一定要用implements关键字:
public class CodeWordChecker implements StringChecker
成员变量:题干已经给出
private int minLen;
private int maxLen;
private String nonStr;
构造方法:本题中,需要考生提取信息。题干中有一句话,”can also be constructed with”,意味着这个class有两种构造。根据题干信息,一个是全参构造,另一个是只有一个String类型的参数的构造。
public CodeWordChecker(int minLen, int maxLen, String nonStr){
this.minLen = minLen;
this.maxLen = maxLen;
this.nonStr = nonStr;
}
public CodeWordChecker(String nonStr){
minLen = 6;
maxLen = 20;
this.nonStr = nonStr;
}
方法:根据题干要求,实现类的方法需要override接口中的抽象方法
题干理解
类名称:APCalender
成员变量:无
成员方法:五个
a. public static boolean isLeapYear(int year):判断某一年份是否为闰年,返回值为true/false。
b. public static int numberOfLeapYears(int year1, int year2):统计year1和year2之间的闰年个数,返回值为int类型数值,题干给了预前提0<=year1<=year2。
c. public static int firstDayOfYear(int year):判断某一年天为星期几,已知2019年天为星期二。返回值为int类型0-6,分别代表星期天-星期六。
d. public static int dayOfYear(int month, int day, int year):判断参数列表中的对应年月日是本年度第几。返回值为int类型1-366
e. public static int dayOfWeek(int month, int day, int year):判断参数列表中的日期是星期几,返回值类型和c相同。
代码实现:
a. 判断某一年份是否为闰年,返回值为true/false
b. 统计year1和year2之间的闰年个数,返回值为int类型数值,题干给了预前提0<=year1<=year2。
这个方法有两种算法:数学推导,以及for循环,代码分别如下:
c. public static int firstDayOfYear(int year):判断某一年天为星期几,已知2019年天为星期二。返回值为int类型0-6,分别代表星期天-星期六。
算法:
1. year == 2019,返回2
2. year > 2019,返回(2+daysGap)%7
daysGap = (year - 2019)*365 + numberOfLeapYears(2019, year-1)
3. year < 2019, 返回((2-daysGap)%7 + 7)%7
daysGap = (2019-year)*365 + numberOfLeapYears(year, 2019)
代码实现:
d. public static int dayOfYear(int month, int day, int year):判断参数列表中的对应年月日是本年度第几。返回值为int类型1-366
算法:
判断当前日期属于本年度的第几天: n = months[0] + ..+months[month-1]+day
代码实现:
e. public static int dayOfWeek(int month, int day, int year):判断参数列表中的日期是星期几,返回值类型和c相同。
以上就是题干中要求内容的代码。同学们注意,一定要创建一个main class,来做实验,换数据,验证程序的正确性。
AP计算机能一战拿理想分的只有少数人。而且明年的AP大考将全面回归线下,考试形式和覆盖范围也将恢复正常。同学们还是不要笃定自己的AP分数能和今年的学姐学长们一样优秀。如果你觉得自己无法兼顾AP与日常课程的学习,点击预约试听【AP全程班】,一线资深AP带你精讲AP国际课程知识点,提升考试技巧,从源头启发国际课程热情,适合所有AP校内学员和社会考生。
点击
查看更多。
学习有方法,成长看得见
筑梦牛剑/G5/常春藤