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;
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
*/
public String getEmail() {
return email;
}
Override
public String toString() {
return "Team {teamId=" + teamId + ", name=" + name + ", firstName=" + firstName + ",
lastName=" + lastName
+ ", phone=" + phone + ", email=" + email + "}";
}
Override
public boolean equals(Object obj) {
if(obj == null)
return false;
else {
if(!(obj instanceof Team))
return false;
else {
Team other = (Team)obj;
if(this.teamId.equalsIgnoreCase(other.teamId) &&
this.name.equalsIgnoreCase(other.name) &&
this.firstName.equalsIgnoreCase(other.firstName) &&
this.lastName.equalsIgnoreCase(other.lastName) &&
this.phone.equalsIgnoreCase(other.phone) &&
this.email.equalsIgnoreCase(other.email))
return true;
else
return false;
}
}
}
/**
* Checks if the email id contains "(at sign)".
* Is yes returns true else returns false
*/
public boolean isValidEmail() {
return this.email.contains("(at sign)");
}
}
public class Game {
//Attributes
private String gameID;
private String homeTeamId;
private String guestTeamId;
private String gameDate;
private int homeTeamScore;
private int guestTeamScore;
/**
* Constructor
* param gameID
* param homeTeamId
* param guestTeamId
* param gameDate
* param homeTeamScore
* param guestTeamScore
*/
public Game(String gameID, String homeTeamId, String guestTeamId, String gameDate, int
homeTeamScore,
int guestTeamScore) {
this.gameID = gameID;
this.homeTeamId = homeTeamId;
this.guestTeamId = guestTeamId;
this.gameDate = gameDate;
this.homeTeamScore = homeTeamScore;
this.guestTeamScore = guestTeamScore;
}
/**
* return the gameID
*/
public String getGameID() {
return gameID;
}
/**
* return the homeTeamId
*/
public String getHomeTeamId() {
return homeTeamId;
}
/**
* return the guestTeamId
*/
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 {
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
* 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();
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
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");
//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,
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;
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
*/
public String getEmail() {
return email;
}
Override
public String toString() {
return "Team {teamId=" + teamId + ", name=" + name + ", firstName=" + firstName + ",
lastName=" + lastName
+ ", phone=" + phone + ", email=" + email + "}";
}
Override
public boolean equals(Object obj) {
if(obj == null)
return false;
else {
if(!(obj instanceof Team))
return false;
else {
Team other = (Team)obj;
if(this.teamId.equalsIgnoreCase(other.teamId) &&
this.name.equalsIgnoreCase(other.name) &&
this.firstName.equalsIgnoreCase(other.firstName) &&
this.lastName.equalsIgnoreCase(other.lastName) &&
this.phone.equalsIgnoreCase(other.phone) &&
this.email.equalsIgnoreCase(other.email))
return true;
else
return false;
}
}
}
/**
* Checks if the email id contains "(at sign)".
* Is yes returns true else returns false
*/
public boolean isValidEmail() {
return this.email.contains("(at sign)");
}
}
public class Game {
//Attributes
private String gameID;
private String homeTeamId;
private String guestTeamId;
private String gameDate;
private int homeTeamScore;
private int guestTeamScore;
/**
* Constructor
* param gameID
* param homeTeamId
* param guestTeamId
* param gameDate
* param homeTeamScore
* param guestTeamScore
*/
public Game(String gameID, String homeTeamId, String guestTeamId, String gameDate, int
homeTeamScore,
int guestTeamScore) {
this.gameID = gameID;
this.homeTeamId = homeTeamId;
this.guestTeamId = guestTeamId;
this.gameDate = gameDate;
this.homeTeamScore = homeTeamScore;
this.guestTeamScore = guestTeamScore;
}
/**
* return the gameID
*/
public String getGameID() {
return gameID;
}
/**
* return the homeTeamId
*/
public String getHomeTeamId() {
return homeTeamId;
}
/**
* return the guestTeamId
*/
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 {
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
* 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();
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
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");
//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,
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

public class Team {Attributes private String teamId; private.pdf

  • 1.
    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; this.phone = phone; this.email = email; } /** * return the teamId */ public String getTeamId() { return teamId; } /** * return the name */
  • 2.
    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 */ public String getEmail() { return email; } Override public String toString() { return "Team {teamId=" + teamId + ", name=" + name + ", firstName=" + firstName + ", lastName=" + lastName + ", phone=" + phone + ", email=" + email + "}"; } Override public boolean equals(Object obj) {
  • 3.
    if(obj == null) returnfalse; else { if(!(obj instanceof Team)) return false; else { Team other = (Team)obj; if(this.teamId.equalsIgnoreCase(other.teamId) && this.name.equalsIgnoreCase(other.name) && this.firstName.equalsIgnoreCase(other.firstName) && this.lastName.equalsIgnoreCase(other.lastName) && this.phone.equalsIgnoreCase(other.phone) && this.email.equalsIgnoreCase(other.email)) return true; else return false; } } } /** * Checks if the email id contains "(at sign)". * Is yes returns true else returns false */ public boolean isValidEmail() { return this.email.contains("(at sign)"); } } public class Game { //Attributes private String gameID; private String homeTeamId; private String guestTeamId; private String gameDate; private int homeTeamScore;
  • 4.
    private int guestTeamScore; /** *Constructor * param gameID * param homeTeamId * param guestTeamId * param gameDate * param homeTeamScore * param guestTeamScore */ public Game(String gameID, String homeTeamId, String guestTeamId, String gameDate, int homeTeamScore, int guestTeamScore) { this.gameID = gameID; this.homeTeamId = homeTeamId; this.guestTeamId = guestTeamId; this.gameDate = gameDate; this.homeTeamScore = homeTeamScore; this.guestTeamScore = guestTeamScore; } /** * return the gameID */ public String getGameID() { return gameID; } /** * return the homeTeamId */ public String getHomeTeamId() { return homeTeamId; } /** * return the guestTeamId */
  • 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"); Gamegame1 = 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 TEST2b"); 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 TEST3b"); 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 */
  • 13.
    public String getEmail(){ return email; } Override public String toString() { return "Team {teamId=" + teamId + ", name=" + name + ", firstName=" + firstName + ", lastName=" + lastName + ", phone=" + phone + ", email=" + email + "}"; } Override public boolean equals(Object obj) { if(obj == null) return false; else { if(!(obj instanceof Team)) return false; else { Team other = (Team)obj; if(this.teamId.equalsIgnoreCase(other.teamId) && this.name.equalsIgnoreCase(other.name) && this.firstName.equalsIgnoreCase(other.firstName) && this.lastName.equalsIgnoreCase(other.lastName) && this.phone.equalsIgnoreCase(other.phone) && this.email.equalsIgnoreCase(other.email)) return true; else return false; } } } /** * Checks if the email id contains "(at sign)". * Is yes returns true else returns false
  • 14.
    */ public boolean isValidEmail(){ return this.email.contains("(at sign)"); } } public class Game { //Attributes private String gameID; private String homeTeamId; private String guestTeamId; private String gameDate; private int homeTeamScore; private int guestTeamScore; /** * Constructor * param gameID * param homeTeamId * param guestTeamId * param gameDate * param homeTeamScore * param guestTeamScore */ public Game(String gameID, String homeTeamId, String guestTeamId, String gameDate, int homeTeamScore, int guestTeamScore) { this.gameID = gameID; this.homeTeamId = homeTeamId; this.guestTeamId = guestTeamId; this.gameDate = gameDate; this.homeTeamScore = homeTeamScore; this.guestTeamScore = guestTeamScore; } /** * return the gameID */
  • 15.
    public String getGameID(){ return gameID; } /** * return the homeTeamId */ public String getHomeTeamId() { return homeTeamId; } /** * return the guestTeamId */ 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 + ",
  • 16.
    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 { 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)); }
  • 17.
    } import java.io.File; import java.io.FileNotFoundException; importjava.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 * 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); }
  • 18.
    public static voidmain(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(); 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());
  • 19.
    //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()); } //Readsecond line inputDtls = input.nextLine().split(","); //Test 2b 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();
  • 20.
    } //Test 3a System.out.println(); System.out.println("RUNNING TEST3a"); 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