KaiquanMah commited on
Commit
1749291
·
verified ·
1 Parent(s): 8f6f3c7

this.listPlayers = new ArrayList<>();

Browse files
Week 4: Writing classes/17. Football match, part 2: Class Team ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Let's continue the implementation by implementing a class that models one team.
2
+
3
+ So, write a (non-public) class Team with the following properties:
4
+ Attribute 'name' (string)
5
+ Some attribute to store the players in
6
+ A constructor that takes the name as a parameter
7
+ Set and get methods for the name
8
+ Method addPlayer(Player p), which adds one player to the team
9
+ The method printPlayers(), which prints the players in the order of addition as shown in the example below (first the number, then the name):
10
+
11
+ Example output of players:
12
+ 7. Pele
13
+ 8. Ronaldo
14
+
15
+
16
+
17
+
18
+
19
+ ================
20
+
21
+
22
+
23
+ import java.util.Random;
24
+ import java.lang.reflect.Field;
25
+ import java.util.ArrayList;
26
+ import java.util.HashMap;
27
+
28
+ public class Test{
29
+ public static void main(String[] args){
30
+ final Random r = new Random();
31
+
32
+
33
+
34
+ System.out.println("Testing class Team...");
35
+
36
+ Team t = new Team("FC Turku");
37
+
38
+ System.out.println("Team object created!");
39
+
40
+ try {
41
+ Field name = t.getClass().getDeclaredField("name");
42
+ boolean namePrivate = name.getModifiers() == 2;
43
+ System.out.println("Name is private: " + namePrivate);
44
+ } catch (Exception e) {
45
+ System.out.println("Attribute name is not defined");
46
+ }
47
+
48
+ System.out.println("Testing get methods...");
49
+ System.out.println("Name: " + t.getName());
50
+
51
+ System.out.println("Testing set methods...");
52
+ t.setName("University Football Club");
53
+ System.out.println("Name: " + t.getName());
54
+
55
+ System.out.println("Adding players to the team...");
56
+ Player p1 = new Player(7, "Ronaldo");
57
+ Player p2 = new Player(10, "Pele");
58
+
59
+
60
+ t.addPlayer(p1);
61
+ t.addPlayer(p2);
62
+
63
+ System.out.println("Players added!");
64
+ System.out.println("Printing players:");
65
+ t.printPlayers();
66
+
67
+ Player p3 = new Player(34, "Brad Baller");
68
+ t.addPlayer(p3);
69
+ System.out.println("Players added!");
70
+ System.out.println("Printing players:");
71
+ t.printPlayers();
72
+
73
+ }
74
+ }
75
+
76
+
77
+ //ADD
78
+ class Team {
79
+ // attributes
80
+ private String name;
81
+ private ArrayList<Player> listPlayers;
82
+
83
+
84
+ //constructor
85
+ public Team(String name) {
86
+ this.name = name;
87
+ // need to initialise empty array, otherwise 'NullPointerException'
88
+ this.listPlayers = new ArrayList<>();
89
+ }
90
+
91
+ public String getName() {
92
+ return this.name;
93
+ }
94
+
95
+ public void setName(String name) {
96
+ this.name = name;
97
+ }
98
+
99
+ public void addPlayer(Player p) {
100
+ this.listPlayers.add(p);
101
+ }
102
+
103
+ public void printPlayers() {
104
+ // int counter = 0;
105
+
106
+ for (Player p: listPlayers) {
107
+ // counter+=1;
108
+ // System.out.println(counter + ". " + p.getName());
109
+ // a player has their own number, dont use 'counter'
110
+ System.out.println(p.getNumber() + ". " + p.getName());
111
+ }
112
+ }
113
+
114
+
115
+ }
116
+
117
+
118
+
119
+
120
+ Testing class Team...
121
+ Team object created!
122
+ Name is private: true
123
+ Testing get methods...
124
+ Name: FC Turku
125
+ Testing set methods...
126
+ Name: University Football Club
127
+ Adding players to the team...
128
+ Players added!
129
+ Printing players:
130
+ 7. Ronaldo
131
+ 10. Pele
132
+ Players added!
133
+ Printing players:
134
+ 7. Ronaldo
135
+ 10. Pele
136
+ 34. Brad Baller
137
+