University of Toronto - Fall 2000
Department of Computer Science

Week 5 - Name class

Version 1

// Describe objects that have a first and last name, and an optional
// middle name.
class Name {
	private String first;		// First name
	private String middle;		// Middle name, or null if none
	private String last;		// Last name

	// Make me with first name f, last name l, and no middle name.
	public Name (String f, String l) {
		this.first = f;
		this.last = l;
	}

	// Make me with first name f, middle name m, and last name l.
	public Name (String f, String m, String l) {
		this.first = f;
		this.middle = m;
		this.last = l;
	}

	// Return my first, middle, last names as a String.
	public String toString() {
		String result = this.first;
		if (this.middle != null) {
			result = result + " " + this.middle;
		}
		result = result + " " + this.last;
		return result;
	}

	// Test names with/without a middle name.
	public static void test () {
		Name n1 = new Name ("A", "B");
		Name n2 = new Name ("A", "B", "C");
		System.out.println (n1 + " and " + n2);
	}
}

Simple test class to run the test method, which tests our Name class:

public class RunTest {
        public static void main (String[] args) {
                Name.test();
        }
}

Output:

A B and A B C