Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.94 KB | None | 0 0
  1. package soccerteam;
  2.  
  3. public class SoccerTeam {
  4. private String name;
  5. private SoccerPlayer[] groep;
  6.  
  7.  
  8. public SoccerTeam(String name) {
  9. this.name = name;
  10. this.groep = new SoccerPlayer[11];
  11. }
  12.  
  13. public SoccerTeam(String name, SoccerPlayer[] groep) {
  14. this.name = name;
  15. this.groep = groep;
  16. }
  17.  
  18.  
  19. public boolean addPlayer(SoccerPlayer player){
  20. // eerst kijken of de speler al bestaat
  21. for (int i = 0; i < this.groep.length; i++) {
  22. if (this.groep[i]!= null){
  23. if (this.groep[i].equals(player)){
  24. return false;
  25. }
  26. }
  27. }
  28. // kijken of er al een keeper in de ploeg zit.
  29. if (player.getPosition().equals(SoccerPlayer.Position.GK)) {
  30. for (int i = 0; i < this.groep.length; i++) {
  31. if (this.groep[i]!=null){
  32. if(this.groep[i].getPosition().equals(SoccerPlayer.Position.GK)){
  33. return false;
  34. }
  35. }
  36. }
  37.  
  38. }
  39. for (int i = 0; i < this.groep.length; i++) {
  40. if (this.groep[i] == null){
  41. this.groep[i]= player;
  42. return true;
  43. }
  44. }
  45. return false;
  46. }
  47.  
  48.  
  49. public double getAverageAge(){
  50. double somLeeftijd = 0 ;
  51. int aantal = 0;
  52. for (int i = 0; i < this.groep.length; i++) {
  53. if(this.groep[i]!=null){
  54. somLeeftijd = somLeeftijd + this.groep[i].getAge();
  55. aantal++;
  56. }
  57. }
  58. if (aantal == 0){
  59. return 0.0;
  60. }else {
  61. return somLeeftijd/aantal;
  62. }
  63.  
  64.  
  65. }
  66. public String getFormation(){
  67. int iVerdedigers = 0;
  68. int iMiddenvelders = 0;
  69. int iAanvallers = 0;
  70. for (int i = 0; i < 11; i++) {
  71.  
  72. if (this.groep[i]!= null){
  73. switch (this.groep[i].getPosition()) {
  74. case GK: /* Goalkeeper */
  75. break;
  76. case DF: /* Defender */
  77. iVerdedigers++;
  78. break;
  79. case MF: /* Midfield */
  80. iMiddenvelders++;
  81. break;
  82. case FW:
  83. iAanvallers++;
  84. break;
  85. default:
  86. throw new AssertionError();
  87. }
  88. }
  89. }
  90. return iVerdedigers + "-" + iMiddenvelders + "-" + iAanvallers;
  91. }
  92.  
  93. public String getName() {
  94. return this.name;
  95. }
  96.  
  97. public SoccerPlayer[] getPlayers(){
  98. return this.groep.clone();
  99. }
  100.  
  101. public SoccerPlayer[] getPlayersAt(SoccerPlayer.Position position){
  102. SoccerPlayer[] playersAt = new SoccerPlayer[11];
  103. playersAt = this.groep.clone();
  104. for (int i = 0; i < playersAt.length; i++) {
  105. if (playersAt[i].getPosition()!= position) {
  106. playersAt[i] = null;
  107. }
  108. }
  109. return playersAt;
  110. }
  111.  
  112. public boolean isPlayerAlreadyInTeam(SoccerPlayer player){
  113. for (int i = 0; i < this.groep.length; i++) {
  114. if (this.groep[i]!= null){
  115. if (this.groep[i].equals(player)){
  116. return true;
  117. }
  118. }
  119. }
  120. return false;
  121. }
  122.  
  123.  
  124. public boolean substitute(SoccerPlayer out, SoccerPlayer in){
  125. if (this.isPlayerAlreadyInTeam(in)){
  126. return false;
  127. }
  128. if (!this.isPlayerAlreadyInTeam(out)){
  129. return false;
  130. }
  131.  
  132. if (((!out.getPosition().equals(SoccerPlayer.Position.GK)) && (!in.getPosition().equals(SoccerPlayer.Position.GK))) || ((out.getPosition().equals(SoccerPlayer.Position.GK)) && (in.getPosition().equals(SoccerPlayer.Position.GK)))){
  133. for (int i = 0; i < this.groep.length; i++) {
  134. if (this.groep[i].equals(out)) {
  135. this.groep[i] = in;
  136. return true;
  137. }
  138. }
  139. }
  140. return false;
  141.  
  142. }
  143.  
  144.  
  145. public static void main(String[] args) {
  146. SoccerTeam team = new SoccerTeam("Rode Duivels");
  147. SoccerPlayer sp1 = new SoccerPlayer("Speler1Fn","Speler1LN",21,SoccerPlayer.Position.GK);
  148. SoccerPlayer sp2 = new SoccerPlayer("Speler2Fn","Speler2LN",22,SoccerPlayer.Position.FW);
  149. SoccerPlayer sp3 = new SoccerPlayer("Speler3Fn","Speler3LN",23,SoccerPlayer.Position.MF);
  150. SoccerPlayer sp4 = new SoccerPlayer("Speler4Fn","Speler4LN",24,SoccerPlayer.Position.MF);
  151. SoccerPlayer sp5 = new SoccerPlayer("Speler5Fn","Speler5LN",25,SoccerPlayer.Position.DF);
  152. SoccerPlayer sp6 = new SoccerPlayer("Speler6Fn","Speler6LN",25,SoccerPlayer.Position.DF);
  153. SoccerPlayer sp7 = new SoccerPlayer("Speler7Fn","Speler7LN",25,SoccerPlayer.Position.DF);
  154. SoccerPlayer sp8 = new SoccerPlayer("Speler8Fn","Speler8LN",25,SoccerPlayer.Position.DF);
  155. SoccerPlayer sp9 = new SoccerPlayer("Speler9Fn","Speler9LN",25,SoccerPlayer.Position.DF);
  156. SoccerPlayer sp10 = new SoccerPlayer("Speler10Fn","Speler10LN",25,SoccerPlayer.Position.DF);
  157. SoccerPlayer sp11 = new SoccerPlayer("Speler11Fn","Speler11LN",25,SoccerPlayer.Position.DF);
  158. SoccerPlayer sp12 = new SoccerPlayer("Speler12Fn","Speler12LN",25,SoccerPlayer.Position.DF);
  159. SoccerPlayer sp13 = new SoccerPlayer("Speler13Fn","Speler13LN",25,SoccerPlayer.Position.DF);
  160. SoccerPlayer sp14 = new SoccerPlayer("Speler14Fn","Speler14LN",25,SoccerPlayer.Position.GK);
  161.  
  162. // System.out.println(sp1.getAge());
  163. team.addPlayer(sp1);
  164. team.addPlayer(sp2);
  165. team.addPlayer(sp3);
  166. team.addPlayer(sp4);
  167. team.addPlayer(sp5);
  168. team.addPlayer(sp6);
  169. team.addPlayer(sp7);
  170. team.addPlayer(sp8);
  171. team.addPlayer(sp9);
  172. team.addPlayer(sp10);
  173. team.addPlayer(sp11);
  174. team.addPlayer(sp12);
  175. team.addPlayer(sp13);
  176. // System.out.println(team.getFormation());
  177. // System.out.println(team.getAverageAge()); // output: 0.0
  178. System.out.println(team.substitute(sp1, sp14));
  179.  
  180. }
  181.  
  182. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement