这是我写的一个类的部分内容:但ArrayList类add方法不能用,不知道为什么?
另外,我若把这部分放到Main函数中又可以用了,不知道为什么?怎样才能在mian 函数外用ArrayList类 的add方法?package adapter;
import java.util.*;public class Header {
private ArrayList<Student> students = new ArrayList<Student>();
public Header(){

}
Student s1 = new Student("1111","xu",22,"male","singing");
Student s2 = new Student("2222","guo",22,"male","running");
Student s3 = new Student("3333","jun",22,"male","jumping");
Student s4 = new Student("4444","qin",22,"male","writing");
Student s5 = new Student("5555","guan",22,"male","reading");

students.add(s1);//报错:Syntax error on token "s1", VariableDeclaratorId expected after this token void display(String ssn){
for(Student s : students){
if(s.getSsn() == ssn){
System.out.println("学号:"+s.getSsn()+"姓名:"+
s.getName()+"年龄:"+s.getAge()
+"性别:"+s.getSex()+"特长:"+s.getSpecial());
}
}
}
}

解决方案 »

  1.   

    操作要放到方法中,类中方法外面的部分是用来声明字段的。解决方案:你可以随便写个方法,然后调用该方法就OK了。
    例如:
    private void initList()
    {
    students.add(s1);
    }
    //
    void display(String ssn){ initList();
    for(Student s : students){ 
    if(s.getSsn() == ssn){ 
    System.out.println("学号:"+s.getSsn()+"姓名:"+ 
    s.getName()+"年龄:"+s.getAge() 
    +"性别:"+s.getSex()+"特长:"+s.getSpecial()); 



      

  2.   

    private ArrayList <Student> students = new ArrayList <Student>(); 写法有点问题。private List<Student> students = new ArrayList <Student>(); 
      

  3.   

    student.add你是不是应该在一个方法里面使用啊,main是主方法,而你这是一个类,student.add没有在任何方法里,你写在方法里面看看
      

  4.   

    students.add(s1);需要放到方法体中,或者用两个大括号{}括起来。
      

  5.   

    jdk1.5以上吧,你可以写一个方法单独的对ArrayList进行才操作
    记得要导入包import java.uitl.*;
      

  6.   

    我是按Beginning java Objects 上一模一样写的,应该不是问题
      

  7.   

    java类中除了属性和方法是不能包含别的东西的
    所以楼主只要那个add的语句放到一个方法体{}中即可解决。