StudentRecord
is #4 from the from the 2005 AP Computer Science A Free Response problems.
https://secure-media.collegeboard.org/apc/_ap05_frq_comp_sci_a_45544.pdf
Part (a) average
method
private double average(int first, int last)
{
int sum = 0;
int numScores = 0;
for(int i = first; i <= last; i++)
{
sum += scores[i];
numScores++;
}
return sum / (double) numScores;
}
It is also possible to calculate the number of scores as (last - first + 1)
.
Part (b) hasImproved
method
private boolean hasImproved()
{
for(int i = 1; i < scores.length; i++)
if(scores[i] < scores[i - 1])
return false;
return true;
}
Part (c) finalAverage
method
public double finalAverage()
{
int start = 0;
if(hasImproved())
start = scores.length / 2;
return average(start, scores.length - 1);
}
2005 AP CS Exam Free Response Solutions
Help & comments
Get help from AP CS Tutor Brandon Horn