/* * Name class * * Basic class to represent a person's name, * with the specific purpose of playing a game. * */ public class Name { private String fname, lname, gname, dname; private char mi; /* * Constructors * */ Name() { dname = fname = "JANE"; lname = "DOE"; } Name( String fname, String lname ) { this(fname, ' ', lname); } Name( String fname, String lname, String gname ) { this(fname, lname); this.gname = gname; } Name( String fname, char mi, String lname ) { // note the use of this to resolve scope issue this.fname = fname; this.mi = mi; this.lname = lname; dname = fname; // note use of this is not needed } /* * Class specific methods */ /* * toString(): String * * method to return a formatted string based on * the display name set. */ public String toString() { return( dname ); } /* * Accessor methods (as needed) */ /* * getGameName(): String * * method to retrieve and return the * game name */ public String getGameName() { return( gname ); } /* * getFirstName(): String * * method to retrieve and return the * first name. */ public String getFirstName() { return( fname ); } /* * Mutator Methods (as needed) */ /* * setDisplayName(String): void * * method to set the name * used in the toString method to the * name passed. */ public void setDisplayName( String name ) { dname = name; } /* * setGameName(String(: void * * methos to set the the players game * name! * */ public void setGameName( String name ) { gname = name; } /* * Local main method to test the class */ public static void main( String[] args ) { { Name s1 = new Name(); Name s2 = new Name( "Chris", 'P', "Kanaris"); System.out.println( s1 ); System.out.println( s2 ); } { Name s = new Name( "Chris", "Kanaris", "super teacher" ); System.out.println( s ); s.setDisplayName( s.getGameName() ); System.out.println( s ); } } }