5. public String getGuestTeamId() {
return guestTeamId;
}
/**
* return the gameDate
*/
public String getGameDate() {
return gameDate;
}
/**
* return the homeTeamScore
*/
public int getHomeTeamScore() {
return homeTeamScore;
}
/**
* return the guestTeamScore
*/
public int getGuestTeamScore() {
return guestTeamScore;
}
Override
public String toString() {
return "Game {gameID=" + gameID + ", homeTeamId=" + homeTeamId + ",
guestTeamId=" + guestTeamId + ", gameDate="
+ gameDate + ", homeTeamScore=" + homeTeamScore + ", guestTeamScore=" +
guestTeamScore + "}";
}
Override
public boolean equals(Object obj) {
if(obj == null)
return false;
else {
if(!(obj instanceof Game))
return false;
else {
6. Game other = (Game)obj;
if(this.gameID.equalsIgnoreCase(other.gameID) &&
this.homeTeamId.equalsIgnoreCase(other.homeTeamId) &&
this.guestTeamId.equalsIgnoreCase(other.guestTeamId) &&
this.gameDate.equalsIgnoreCase(other.gameDate) &&
(this.homeTeamScore == other.homeTeamScore) &&
(this.guestTeamScore == other.guestTeamScore))
return true;
else
return false;
}
}
}
/**
* Checks if the game date is between 20160101 and 20160531
* If yes return true or return false
*/
public boolean isValidDate() {
int date = Integer.parseInt(gameDate);
return ((20160101 <= date) && (date <= 20160531));
}
}
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Test {
/**
* Creates a Team object with the parameter passed and returns it
* param teamId
* param name
* param firstName
* param lastName
* param phone
7. * param email
* return
*/
public static Team setTeamAttribute(String teamId, String name, String firstName, String
lastName, String phone, String email) {
return new Team(teamId, name, firstName, lastName, phone, email);
}
/**
* Creates a Game object with the parameter passed and returns it
* param gameID
* param homeTeamId
* param guestTeamId
* param gameDate
* param homeTeamScore
* param guestTeamScore
* return
*/
public static Game setGameAttribute(String gameID, String homeTeamId, String guestTeamId,
String gameDate, int homeTeamScore,
int guestTeamScore) {
return new Game(gameID, homeTeamId, guestTeamId, gameDate, homeTeamScore,
guestTeamScore);
}
public static void main(String[] args) {
//Input file
final String INPUT_FILENAME = "input/hw1input.txt";
//Test 1a
System.out.println("RUNNING TEST 1a");
Team team1 = new Team("1", "Team1", "Ann", "Matt", "123456", "abcxyz.com");
System.out.println(team1);
//Test 1b
System.out.println();
8. System.out.println("RUNNING TEST 1b");
Game game1 = new Game("101", "Home Team", "Guest Team", "20160303", 12, 18);
System.out.println(game1);
//Open input file
Scanner input = null;
Team team2 = null;
Game game2 = null;
try {
input = new Scanner(new File(INPUT_FILENAME));
//Read first line
String[] inputDtls = input.nextLine().split(",");
//Test 2a
if(inputDtls[0].equalsIgnoreCase("TEAM")) {
System.out.println();
System.out.println("RUNNING TEST 2a");
team2 = setTeamAttribute(inputDtls[1], inputDtls[2], inputDtls[3], inputDtls[4], inputDtls[5],
inputDtls[6]);
if(!team2.isValidEmail())
System.err.println("ERROR: Invalid email address. Is missing (at sign): " +
team2.getEmail());
//Display team1 attributes
System.out.println(team2.getTeamId());
System.out.println(team2.getName());
System.out.println(team2.getFirstName());
System.out.println(team2.getLastName());
System.out.println(team2.getPhone());
System.out.println(team2.getEmail());
}
//Read second line
inputDtls = input.nextLine().split(",");
//Test 2b
9. if(inputDtls[0].equalsIgnoreCase("GAME")) {
System.out.println();
System.out.println("RUNNING TEST 2b");
game2 = setGameAttribute(inputDtls[1], inputDtls[2], inputDtls[3], inputDtls[4],
Integer.parseInt(inputDtls[5]), Integer.parseInt(inputDtls[6]));
if(!game2.isValidDate())
System.err.println("ERROR: Invalid game date: " + game2.getGameDate());
//Display team attributes
System.out.println(game2.getGameID());
System.out.println(game2.getHomeTeamId());
System.out.println(game2.getGuestTeamId());
System.out.println(game2.getGameDate());
System.out.println(game2.getHomeTeamScore());
System.out.println(game2.getGuestTeamScore());
}
} catch(FileNotFoundException fnfe) {
System.err.println("Data file not found");
} finally {
//Close file
if(input != null)
input.close();
}
//Test 3a
System.out.println();
System.out.println("RUNNING TEST 3a");
System.out.println("TEAM 1 : " + team1);
System.out.println("TEAM 2 : " + team2);
if(team1.equals(team2))
System.out.println("The two teams are same");
else
System.out.println("The two teams not are same");
10. //Test 3b
System.out.println();
System.out.println("RUNNING TEST 3b");
System.out.println("GAME 1 : " + game1);
System.out.println("GAME 2 : " + game2);
if(game1.equals(game2))
System.out.println("The two games are same");
else
System.out.println("The two games not are same");
}
}
SAMPLE OUTPUT:
RUNNING TEST 1a
Team {teamId=1, name=Team1, firstName=Ann, lastName=Matt, phone=123456,
email=abcxyz.com}
RUNNING TEST 1b
Game {gameID=101, homeTeamId=Home Team, guestTeamId=Guest Team,
gameDate=20160303, homeTeamScore=12, guestTeamScore=18}
RUNNING TEST 2a
ERROR: Invalid email address. Is missing (at sign): roadrunner#gmail.com
1
Road Runner
David
Brown
303-123-4567
roadrunner#gmail.com
RUNNING TEST 2b
ERROR: Invalid game date: 20150105
101
1
2
20150105
4
3
RUNNING TEST 3a
TEAM 1 : Team {teamId=1, name=Team1, firstName=Ann, lastName=Matt, phone=123456,
11. email=abcxyz.com}
TEAM 2 : Team {teamId=1, name=Road Runner, firstName=David, lastName=Brown,
phone=303-123-4567, email=roadrunner#gmail.com}
The two teams not are same
RUNNING TEST 3b
GAME 1 : Game {gameID=101, homeTeamId=Home Team, guestTeamId=Guest Team,
gameDate=20160303, homeTeamScore=12, guestTeamScore=18}
GAME 2 : Game {gameID=101, homeTeamId=1, guestTeamId=2, gameDate=20150105,
homeTeamScore=4, guestTeamScore=3}
The two games not are same
Solution
public class Team {
//Attributes
private String teamId;
private String name;
private String firstName;
private String lastName;
private String phone;
private String email;
/**
* Constructor
* param teamId
* param name
* param firstName
* param lastName
* param phone
* param email
*/
public Team(String teamId, String name, String firstName, String lastName, String phone,
String email) {
this.teamId = teamId;
this.name = name;
this.firstName = firstName;
this.lastName = lastName;
12. this.phone = phone;
this.email = email;
}
/**
* return the teamId
*/
public String getTeamId() {
return teamId;
}
/**
* return the name
*/
public String getName() {
return name;
}
/**
* return the firstName
*/
public String getFirstName() {
return firstName;
}
/**
* return the lastName
*/
public String getLastName() {
return lastName;
}
/**
* return the phone
*/
public String getPhone() {
return phone;
}
/**
* return the email
*/
20. }
//Test 3a
System.out.println();
System.out.println("RUNNING TEST 3a");
System.out.println("TEAM 1 : " + team1);
System.out.println("TEAM 2 : " + team2);
if(team1.equals(team2))
System.out.println("The two teams are same");
else
System.out.println("The two teams not are same");
//Test 3b
System.out.println();
System.out.println("RUNNING TEST 3b");
System.out.println("GAME 1 : " + game1);
System.out.println("GAME 2 : " + game2);
if(game1.equals(game2))
System.out.println("The two games are same");
else
System.out.println("The two games not are same");
}
}
SAMPLE OUTPUT:
RUNNING TEST 1a
Team {teamId=1, name=Team1, firstName=Ann, lastName=Matt, phone=123456,
email=abcxyz.com}
RUNNING TEST 1b
Game {gameID=101, homeTeamId=Home Team, guestTeamId=Guest Team,
gameDate=20160303, homeTeamScore=12, guestTeamScore=18}
RUNNING TEST 2a
ERROR: Invalid email address. Is missing (at sign): roadrunner#gmail.com
1
Road Runner
David
Brown
21. 303-123-4567
roadrunner#gmail.com
RUNNING TEST 2b
ERROR: Invalid game date: 20150105
101
1
2
20150105
4
3
RUNNING TEST 3a
TEAM 1 : Team {teamId=1, name=Team1, firstName=Ann, lastName=Matt, phone=123456,
email=abcxyz.com}
TEAM 2 : Team {teamId=1, name=Road Runner, firstName=David, lastName=Brown,
phone=303-123-4567, email=roadrunner#gmail.com}
The two teams not are same
RUNNING TEST 3b
GAME 1 : Game {gameID=101, homeTeamId=Home Team, guestTeamId=Guest Team,
gameDate=20160303, homeTeamScore=12, guestTeamScore=18}
GAME 2 : Game {gameID=101, homeTeamId=1, guestTeamId=2, gameDate=20150105,
homeTeamScore=4, guestTeamScore=3}
The two games not are same