em có đoạn code này khi em add vào arraylist thì khi output nó là giá trị null là sao ạ.
tức là trong mảng không có gì ý
public class Student {
public static ArrayList<Student> arrStudent;
private String ma, ten, nganh, lop;
public void setId(String ma1){
this.ma=ma1;
}
public void setName(String ten1){
this.ten=ten1;
}
public void setNganh(String nganh1){
this.nganh=nganh1;
}
public void setLop(String lop1){
this.lop=lop1;
}
public String getId(){
return this.ma;
}
public String getName(){
return this.ten;
}
public String getNganh(){
return this.nganh;
}
public String getLop(){
return this.lop;
}
public Student(String id,String name,String nganh,String lop){
this.ma=id;
this.ten=name;
this.nganh=nganh;
this.lop=lop;
}
public static void setSv(){
System.out.println("Nhap thong tin sinh vien");
Scanner nhap=new Scanner(System.in);
System.out.println("Nhap ma sinh vien:");
String id=nhap.nextLine();
System.out.println("Nhap ten sinh vien:");
String name=nhap.nextLine();
System.out.println("Nhap nganh sinh vien:");
String nganh1 =nhap.nextLine();
System.out.println("Nhap lop sinh vien:");
String lop1 =nhap.nextLine();
arrStudent=new ArrayList<Student>();
Student s=new Student(id,name,nganh1,lop1);
arrStudent.add(s);
}
public static void viewSv(){
System.out.println("Xem thong tin sinh vien: ");
for(int i=0;i<arrStudent.size();i++){
System.out.println(arrStudent.get(i));
}
}
public Student(){
super();
}
và đoạn này để chạy
public class JavaApplication1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Student a=new Student();
a.setSv();
a.viewSv();
}
}