import java.io.*; import java.util.*; class StudentDatabase1 { // Database implemented with unordered partly-filled array public static void main(String[] args) throws IOException { Table table = new Table1(); BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); BufferedReader file; Student student; String name; int mark; char ch; do { System.out.print(": "); StringTokenizer toks = new StringTokenizer(in.readLine()); ch = toks.nextToken().charAt(0); switch(ch) { case 'a' : table.add(new Student(in)); break; case 'd' : name = toks.nextToken(); if(!table.delete(name)) System.out.println("No student named "+name); break; case 'f' : file = new BufferedReader(new FileReader(toks.nextToken())); try { while(true) table.add(new Student(file)); } catch(Exception e) {} file.close(); break; case 'm': name = toks.nextToken(); mark = Integer.parseInt(toks.nextToken()); student = (Student) table.retrieve(name); if(student==null) System.out.println("No student named "+name); else student.addMark(mark); break; case 'p': table.print(System.out); break; case 'q': break; case 'r': name = toks.nextToken(); student = (Student) table.retrieve(name); if(student==null) System.out.println("No student named "+name); else System.out.println(student); break; case 'w': name = toks.nextToken(); PrintStream out = new PrintStream(new FileOutputStream(name)); table.print(out); out.close(); break; default: System.out.println(" a - add, d - delete, f - file read"); System.out.println(" m - add mark, p - print, q - quit"); System.out.println(" r - retrieve, w - file write "); } } while(ch!='q'); } }