/** A class that will make use of another class. **/ public class CSClass { public static void main(String[] args) { if (args.length == 0) { System.out.println("usage java CSClass [student names]"); } else { int numberOfStudents = args.length; CSClass cs161 = new CSClass( numberOfStudents ); cs161.enroll( args ); cs161.assignLabPartners(); cs161.listRoster(); } } // Instance fields CSStudent students[] = null; int last = 0; public CSClass( int number ) { students = new CSStudent[ number ]; } public void enroll(String[] names) { int numberOfStudents = names.length; int id = 0; for (int arg = 0; arg < numberOfStudents; arg++) { String name = names[arg]; id++; // assign next id String idString = String.valueOf(id); // as a String CSStudent aStudent = new CSStudent( name, idString); aStudent.setGrade(100); // save the reference to the current student in the next array slot students[last] = aStudent; last++; } } public void assignLabPartners() { // Assign every other pair of students as lab partners int next = 0; int pairs = last / 2; while (pairs > 0) { students[next].setLabPartner( students[next+1] ); students[next+1].setLabPartner( students[next] ); next += 2; pairs--; } // If there were an odd number of students in the array the // last one won't have a lab partner. } public void listRoster() { for (int i = last - 1; i >= 0; i--) { // Ask each Student to identify itself, last to first System.out.println(students[i]); } } }