A+ Work





The following is a score of a single game in badminton. The top row is the score for Player 1. The second row is the score for Player 2. Represent this data in an ArrayList in a class called BadmintonScoring.

0
1
2





3
4










5






0


1
2
3
4
5


6
7
8
9
10
11
12
13
14
15

16
17
18
19
20
21

Compute the maximum points scored by Player 1 and Player 2.
Compute the maximum number of points scored in a continuous sequence by Player 1 and Player 2. Hint: Player 1 scored the sequence 0-1-2, which implies s/he scored 2 points in a continuous sequence. Similarly, for Player 2, 16-17-18-19-20-21 implies that s/he scored 5 points in a continuous sequence.
Extend BadmintonScoring to associate each point scored by a player with a particular stroke that earned that point, using the notion of association list. You can represent each point as an object and store the score of a player in an association list (refer to Chapter 7, section 7.4.2 for details).  For example, when Player 1 scored his/her first point, instead of just 1, it could have been {1, slice}. Thus, each point is augmented with the type of stroke from the following list:
slice
drive
smash
drop
net-shot
Store the following score of a single game using the modified BadmintonScoring class.
0
1a
2c





3a
4c










5c






0


1d
2e
3d
4e
5d


6e
7e
8a
9d
10e
11e
12e
13e
14e
15e

16e
17e
18e
19e
20e
21a

Identify the type of stroke that earned most points for each player