import java.util.*; import java.io.*; class Student extends Person { static int count=10000; static final int MAXMARKS=30; int numSubjects,studentNum; int[] marks; String firstNames; public Student(int d,int m, int y,String n1,String n2,int num,int marks[]) throws PersonException { super(d,m,y,n1); numSubjects=num; this.marks=marks; firstNames=n2; studentNum=++count; } public static Student read(BufferedReader reader) throws IOException,PersonException { int day,month,year,numMarks; String name,marksString,dateString,nameString,firstNames; StringTokenizer tokens; int[] marks; nameString=reader.readLine(); if(nameString==null) throw new IOException(); tokens = new StringTokenizer(nameString); firstNames = tokens.nextToken(); name=tokens.nextToken(); while(tokens.hasMoreTokens()) { firstNames+=" "+name; name=tokens.nextToken(); } dateString=reader.readLine(); tokens = new StringTokenizer(dateString,"/"); day=Integer.parseInt(tokens.nextToken()); month=Integer.parseInt(tokens.nextToken()); year=Integer.parseInt(tokens.nextToken()); marks = new int[MAXMARKS]; marksString=reader.readLine(); tokens = new StringTokenizer(marksString); numMarks=0; while(tokens.hasMoreTokens()) marks[numMarks++]=Integer.parseInt(tokens.nextToken()); return new Student(day,month,year,name,firstNames,numMarks,marks); } public String toString() { String marksString=""; for(int i=0;i