import java.io.BufferedReader; import java.io.IOException; import java.lang.NullPointerException; import java.util.StringTokenizer; public class Student implements Comparable { protected String name; protected int vscore; protected int qscore; protected String state; public Student(String name, int vscore, int qscore, String state) { this.name = name; this.vscore = vscore; this.qscore = qscore; this.state = state; } public String getName() { return name; } public int getVScore() { return vscore; } public int getQScore() { return qscore; } public String getState() { return state; } public int compareTo(Object other) { if (this.name.compareTo(((Student)other).name) > 0) return +1; else if (this.name.compareTo(((Student)other).name) == 0) return 0; else return -1; } public String toString() { return (name + " in " + state + " earns " + vscore + " verbal, and " + qscore + " quantitative."); } public int input (BufferedReader myFileReader) throws IOException, NullPointerException { try { String readLine = myFileReader.readLine(); if (readLine.length() == 0) { // The last Record Exit System.exit(0); } if (readLine != null) { StringTokenizer sortString = new StringTokenizer(readLine, " "); this.name = sortString.nextToken(); String vs = sortString.nextToken(); String qs = sortString.nextToken(); this.vscore = Integer.parseInt(vs); this.qscore = Integer.parseInt(qs); this.state = sortString.nextToken(); } return readLine.length(); } catch (NullPointerException e) { return -1; } } }