Do not use the scanner class or any other user input request. You application should be self-contained and run without user input.
Assignment Objectives
Deliverables
A zipped Java
O.O. Requirements (these items will be part of your grade)
Contents
FootballPlayer will implement the interface TableMember writing real code for all the abstract methods.
Model is used to test if the TableMember interface was implemented correctly by the FootballPlayer class
Functionality
The classes
package Model;
public class Model
{
public Model()
{
FootballPlayer fp = new FootballPlayer(2, "Marcus Allen", "S", 6, 2, 209, "Upper Marlboro, MD", "Dr. Henry A. Wise");
System.out.println(fp.getAttributes().toString());
System.out.println(fp.getAttributes().toString()); //Yes, we are running getAttributes twice just to test it
for (int i = 0; i < fp.getAttributes().size(); i++)
{
System.out.println(i + " = " + fp.getAttributeName(i) + " - " + fp.getAttribute(i));
}
System.out.println(fp.getAttributeNames().toString());
System.out.println(fp.getAttributeNames().toString()); //Yes, we are running getAttributeNames twice just to test it
//if the implementation of TableMember by FootballPlayer is correct,
//the output will be
//
//[Marcus Allen, 6'2", 209, Upper Marlboro, MD, Dr. Henry A. Wise, 2, S]
//[Marcus Allen, 6'2", 209, Upper Marlboro, MD, Dr. Henry A. Wise, 2, S]
//0 = name - Marcus Allen
//1 = height - 6'2"
//2 = weight - 209
//3 = hometown - Upper Marlboro, MD
//4 = highSchool - Dr. Henry A. Wise
//5 = number - 2
//6 = position - S
//[name, height, weight, hometown, highSchool, number, position]
//[name, height, weight, hometown, highSchool, number, position] //
}
}
sample output of running Model.java
The Interface
package Model;
import java.util.ArrayList;
public interface TableMember
{
public String getAttribute(int n);
public ArrayList<String> getAttributes();
public String getAttributeName(int n);
public ArrayList<String> getAttributeNames();
}
Interfaces are often compared to a contract, to a promise to implement the methods described in the interface.
An interface in Java does not have any real code for implementation of its methods, it has only the skeleton of the methods.
When a class decides to implement an interface, it has to contain the real code for each method in the interface.
These are the four methods that FootballPlayer has to implement
public String getAttribute(int n);
Returns the value of a specific attribute. The input parameter start with 0 for the first attribute, then 1 for the second attribute and so on.
public ArrayList<String> getAttributes();
Returns the value of all attributes as an ArrayList of Strings.
public String getAttributeName(int n);
Returns the name of a specific attribute. The input parameter start with 0 for the first attribute, then 1 for the second attribute and so on.
public ArrayList<String> getAttributeNames();
Returns the name of all attributes as an ArrayList of Strings. the abstract methods are
You are building an application to display data in the form of a table. This is the first step.
With FootballPlayer implementing TableMember FootballPlayer objects can be displayed in a table.
The methods you are implementing will support that.
A strategy
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 1 | 2 | 3 | 4 | 5 |