//***Student类:******************************
import java.io.*;
public class Student implements Serializable{
private String id;//学号
private String name;//姓名
private int eng;//英语成绩
private int mathsc;
private int comp;
private int sum;

//构造方法
public Student(String id,String name,int eng,int mathsc,int comp){
this.id=id;
this.name=name;
this.eng=eng;
this.mathsc=mathsc;
this.comp=comp;
sum();
}
public Student(Student s){
this.id=s.id;
this.name=new String(s.name);
this.eng=s.eng;
this.mathsc=s.mathsc;
this.comp=s.comp;
sum();
}
public void setId(String id){
this.id=id;
}
public void setName(String name){
this.name=name;
}
public void setEng(int eng){
this.eng=eng;
sum();
}
public void setMathsc(int mathsc){
this.mathsc=mathsc;
sum();
}
public void setComp(int comp){
this.comp=comp;
sum();
}

public String getId(){
return id;
}
public String getName(){
return name;
}
public int getEng(){
return eng;
}
public int getMathsc(){
return mathsc;
}
public int getComp(){
return comp;
}
public int getSum(){
return sum;
}

//计算总成绩
void sum(){
this.sum=eng+mathsc+comp;
}
public String toString(){
return getId()+"\t"+getName()+"\t"+getEng()+"\t"+getMathsc()+"\t"+getComp()+"\t"+getSum();
}

//比较两个Student对象是否相等
/*public boolean equals(Object x){
if(this.getClass!=x.getClass())return false;
Student b=(Student)x;
return(this.getId().equals(b.getId()));
}*/
public boolean equals(Object x){
if(this.getClass()!=x.getClass())return false;
Student b=(Student)x;
return (this.getId()==b.getId());
}

//比较成绩大小
public int compare(Student A){
if(this.getSum()>A.getSum())return 1;
else if(this.getSum()==A.getSum())return 0;
else return -1;
}
}//*****StudentClass类:************************************************************
//声明学生班级类StudentClass
public class StudentClass{
private String name;//班级名称
static int capacity=40;//最大容量
private Student students[];//学生
private int size;//实际人数

//构造方法
public StudentClass(String name,int size){
this.name=name;
this.size=size;
students=new Student[capacity];
}
public String getName(){
return name;
}
public int getCapacity(){
return capacity;
}
public Student[] getStudents(){
return students;
}
public int getSize(){
return size;
}
public void setName(String name){
this.name=name;
}
public void setCapacity(int capacity){
this.capacity=capacity;
}
public void setSize(int size){
this.size=size;
}
public void setStudents(Student[] students){
for(int i=0;i<size;i++)
this.students[i]=new Student(students[i]);
}
public String toString(){
String s;
s="班级:"+name+"\t"+"容量:"+"\t"+capacity+"\t"+"实际人数:"+size+"\n\n";
s=s+"学号"+"\t"+"姓名"+"\t"+"英语"+"\t"+"数学"+"\t"+"计算机"+"\t"+"总成绩\n";
for(int i=0;i<size;i++)
s=s+students[i].getId()+"\t"+students[i].getName()+"\t"+students[i].getEng()+"\t"+students[i].getMathsc()+"\t"+students[i].getComp()+"\t"+students[i].getSum()+"\n";
return s;
}

public int find(String id){
for(int i=0;i<size;i++)
   if(students[i].getId().equals(id))return i;
return -1;
}
public void showstu(String id){
this.id==id;
String m;
m="学号"+"\t"+"姓名"+"\t"+"英语"+"\t"+"数学"+"\t"+"计算机"+"\t"+"总成绩\n";
m=m+students[i].getId()+"\t"+students[i].getName()+"\t"+students[i].getEng()+"\t"+students[i].getMathsc()+"\t"+students[i].getComp()+"\t"+students[i].getSum()+"\n";
  System.out.println(m);
}
} //******Tester类:**************************************************
//测试类
import java.util.*;
import java.io.*;
public class Tester{
public static void main(String[] args)throws NumberFormatException, IOException{
BufferedReader fid=null;
Student students[];
StudentClass aClass=new StudentClass("信计0201",5);
students=new Student[5];
for(int i=0;i<5;i++) students[i]=new Student(getAStudent(i+1));
aClass.setStudents(students);
System.out.println(aClass);

//将学生信息保存到文件stu.ser中
try{
FileOutputStream fo=new FileOutputStream("stu.ser");
ObjectOutputStream so=new ObjectOutputStream(fo);
for(int i=0;i<5;i++) student[i]=(Student)so.readObject();
so.close();
}
catch(Exception e){
System.out.println(e);
}

//查找:顺序查找
for(int i=0;i<2;i++){
System.out.print("输入查找的学号:");
fid=new BufferedReader(new InputStreamReader(System.in));//关键 从键盘读入
        String id=fid.readLine();
if(aClass.find(id)<0)
System.out.println("不存在");
else {
System.out.println("存在\n");
aClass.showstu(id);
}
}//键盘输入学生信息
public static Student getAStudent(int i)throws NumberFormatException,IOException{
Student studenti;
BufferedReader br=null;
System.out.println("请输入第"+i+"个学生的信息:");
System.out.print("学号:");
  br=new BufferedReader(new InputStreamReader(System.in));//关键 从键盘读入
        String id=br.readLine();
System.out.print("姓名:");
  br=new BufferedReader(new InputStreamReader(System.in));//关键 从键盘读入
        String name=br.readLine();
System.out.print("英语:");
  br=new BufferedReader(new InputStreamReader(System.in));//关键 从键盘读入
        int eng=Integer.parseInt(br.readLine());
System.out.print("数学:");
  br=new BufferedReader(new InputStreamReader(System.in));//关键 从键盘读入
        int mathsc=Integer.parseInt(br.readLine());
System.out.print("计算机:");
  br=new BufferedReader(new InputStreamReader(System.in));//关键 从键盘读入
        int comp=Integer.parseInt(br.readLine());
studenti=new Student(id,name,eng,mathsc,comp);
return studenti;
}
}编译的时候出现:非法的表达式开始
public static Student getAStudent(int i)throws NumberFormatException,IOException{请哪位高手帮看一下,,这是怎么错误,怎么解决!!!谢谢了