class Student {
private String name; // full name
// getFamilyName: return the family name.
// Only handles names of the form "CLARKE JIM"
public String getFamilyName () {
int pos = 0; // the character position we're
// currently looking at
String result = ""; // the family name we're
// building up
while (pos < name.length()) {
if (name.charAt(pos) == ' ') {
if (pos + 1 == name.length() ||
name.charAt(pos+1) == ' ')
return result;
}
result += name.charAt(pos);
pos++;
}
return result;
}
}
// Test program to create a student object and print
// the student's family name.
public class TestStudent2 {
public static void main (String[] args) {
Student stu = new Student ("CLARKE JIM");
System.out.println ("Family name: >>>" +
stu.getFamilyName() + "<<<");
}
}
Family name: >>>CLARKE<<<
// Test program to create various student objects with
// different names, and print the student's family name.
public class TestStudent3 {
public static void main (String[] args) {
String name = "CLARKE R JIM N ";
Student stu = new Student (name);
System.out.println ("\nTesting: >>" + name + "<<");
System.out.println ("Family name: >>" +
stu.getFamilyName() + "<<");
name = "CLARKE JIM ";
stu = new Student (name);
System.out.println ("\nTesting: >>" + name + "<<");
System.out.println ("Family name: >>" +
stu.getFamilyName() + "<<");
name = "CLA R JIM ";
stu = new Student (name);
System.out.println ("\nTesting: >>" + name + "<<");
System.out.println ("Family name: >>" +
stu.getFamilyName() + "<<");
name = "CLA";
stu = new Student (name);
System.out.println ("\nTesting: >>" + name + "<<");
System.out.println ("Family name: >>" +
stu.getFamilyName() + "<<");
name = "CLA ";
stu = new Student (name);
System.out.println ("\nTesting: >>" + name + "<<");
System.out.println ("Family name: >>" +
stu.getFamilyName() + "<<");
name = " ";
stu = new Student (name);
System.out.println ("\nTesting: >>" + name + "<<");
System.out.println ("Family name: >>" +
stu.getFamilyName() + "<<");
}
}
Testing: >>CLARKE R JIM N << Family name: >>CLARKE R<< Testing: >>CLARKE JIM << Family name: >>CLARKE<< Testing: >>CLA R JIM << Family name: >>CLA R<< Testing: >>CLA<< Family name: >>CLA<< Testing: >>CLA << Family name: >>CLA<< Testing: >> << Family name: >><<
[ Home | Outline | Announcements | Newsgroup | Assignments | Exams | Lectures | Links ]

© Copyright 2000. All Rights Reserved.