public class Student implements Comparable
{
private int number;
private String name;
private int grade;
public Student(int number, String name, int grade)
{
this.number = number;
this.name = name;
this.grade = grade;
}
public Student(int number)
{
this.number = number;
this.name = "";
this.grade = 0;
}
public int getNumber()
{
return number;
}
public void setNumber(int number)
{
this.number = number;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getGrade()
{
return grade;
}
public void setGrade(int grade)
{
this.grade = grade;
}
public String toString()
{
return getNumber() + " " + getName() + " " + getGrade();
}
public boolean equals(Object obj)
{
if(obj instanceof Student)
{
Student student = (Student)obj;
return getNumber() == student.getNumber();
} else
{
return false;
}
}
public int compareTo(Object obj)
throws ClassCastException
{
int i = getGrade();
int j = ((Student)obj).getGrade();
return i != j ? i >= j ? 1 : -1 : 0;
}
}
import java.awt.*;
import java.applet.*;
import java.util.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
public class StudentTester extends Applet
implements ItemListener {
Vector studentDB;
TextArea result;
Choice fileURL;
Label label1;
String datafile[] = { "studfile1.html",
"studfile2.html",
"studfile3.html",
"studfile4.html" };
public void init() {
result = new TextArea(12,80);
label1 = new Label("Test Case");
fileURL = new Choice();
for (int i = 0; i < datafile.length; i++)
fileURL.add(datafile[i]);
add(label1);
add(fileURL);
add(result);
fileURL.addItemListener(this);
}
public void itemStateChanged(ItemEvent ie) {
studentDB = new Vector();
try {
URL url = new URL("http://personal.cityu.edu.hk/~dcywchan/2003dco10103/" +
fileURL.getSelectedItem());
URLConnection data = url.openConnection();
BufferedReader inFile = new BufferedReader(new InputStreamReader(data.getInputStream()));
String textLine;
while((textLine = inFile.readLine()) != null) {
StringTokenizer st = new StringTokenizer(textLine, "_");
studentDB.add(new Student(Integer.parseInt(st.nextToken()),
st.nextToken(),
Integer.parseInt(st.nextToken())));
}
Object[] tempArray = studentDB.toArray();
Arrays.sort(tempArray);
String s="";
for (int i = 0; i < tempArray.length; i ++)
s = s + ((Student) tempArray[i]).toString() + '\n';
result.setText("");
result.setText(s);
inFile.close();
} catch(MalformedURLException mue) {}
catch(IOException ioe) {}
}
}
| Previou page | Next page |