CMSC 215 Intermediate Programming Programming Project 1 The first programming project involves writing a program to find the tallest basketball player whose age is less than or equal to the average of


CMSC 215 Intermediate Programming Programming Project 1 The first programming project involves writing a program to find the tallest basketball player whose age is less than or equal to the average of all the players. The program should contain three classes. The java program must contain a main () method. The program class [public class (Java filename)] must have the same name as the java file name. Standard programing practice locates the main () method at the end of the program. The first class. Height. should contain two integer instance variables for the feet and inches. The class should be immutable, so it should have no setter methods at a minimum it should contain the following methods: • A constructor that accepts feet and inches constructs a Height object. • A method toInches that returns the height in total inches. • A method toString that returns the string representation of the height with a single quote. following the feet and a double quote following the inches. Regardless of what value for inches was supplied to the constructor the toString method should display the height normalized so the inches are less than 12. The second class, Player, should contain three instance variables that include the player’s name, the player’s height, which is stored as the type of Height and the player’s age. The class should be immutable, so it should have no setter methods It should contain the following methods: • A constructor that accepts a player’s name, height and age constructs a Player object. • Getter methods for each of the instance variables. • A method toString that returns the string representation of a player with each field appropriately labeled. The toString method of the Player class calls the toString method of the Height class. The third class InputData should repeatedly prompt the user for the information for each of the players. It should create a Player object for each player and add the player to an ArrayList. As the players are read in, the total age of all players should be computed to enable the average to be calculated once all have been input. Once all player information has been inputted, the average age of all players should be output. Then the list of players should be traversed to find the tallest player whose age is less than or equal to the average age of all players. OUTPUT The output to the screen is basically three prompts, one separate line for each, and lines that display the result of the programs processing. Each prompt should include enough information, so the user knows exactly what to enter on the line. Formatting may be necessary to be user friendly. The program can ask for an integer for the age or try to include year and month – not recommended. For the height display the format for the two entries. The program can have a while loop limiting the number of entries or there can be a statement. telling the user to continue until a word is entered, like exit or stop. There should be a check, especially for height indicating an invalid entry. This error is displayed on the screen. It would be user-friendly to explain to the user what the program’s purpose is. Before the user is prompted for data entry this section can be included. It is optional and will not affect the grade. DELIVERABLES: You are to submit two files. 1. The first file is a single java program file that contains all the source code for the project. The java file should contain only source code with appropriate comments and nothing else. If you elect to use a package, the .java file should be in a folder whose name is the package name. The program file should include a comment block at the top containing your name, the project name, the date, and a brief description of the class contained in that file. The java file and the program name in the java file should use the naming convention of CMSC215PROJ1[Last Name] [First Initial].java. 2. The second file is a Word document (PDF is also acceptable) that contains the documentation for the project, which should include the following: a. A UML class diagram that includes all classes you wrote. Do not include predefined classes. b. A test plan that includes test cases that you have created indicating what aspects of the program each one is testing. c. A short paragraph on lessons learned from the project. d. Each of the above elements is tagged and the content inserted into that element. UML Diagrams [Insert the various UML diagrams here.] Test Plan [Insert the various test Plan tables here.] Lessons Learned [Insert the paragraph(s) that identified the various lessons learned in research. deign, coding, and documentation.] e. The documentation name should use the naming convention of CMSC215PROJ1[Last Name] [First Initial].docx. A pdf file is also acceptable.

Requirement  of the project must include

50 points

1 – Includes Height class and all its required methods (20)2 – Includes Player class and all its required methods (20)3 – Includes InputData class (10)

100 points

1 – Creates array list of Player objects (40)2 – Correctly computes and outputs average age of players (30)3 – Correctly determines and outputs the tallest player (30)

50 points

1 – Discussion of approach included (10)2 – Includes correct UML diagram (10)3 – Includes test plan with  sufficient test cases (10)4 -Lessons learned included (10)5 -Comment blocks with student name, project, date and code description include

MY name is Aissata Samake

Professor Thomas Timko

Class CMSC 215