2012-10-15 47 views
0

我想做一個簡單的程序,演示如何使用ArrayLists對象。我希望能夠輸入要存儲在對象中的細節以及搜索和打印對象。簡單的Java程序Arraylist

我在做學生我有我的學生班,我已經開始我的studentTest班,但我正在尋找幫助輸入開始。

這是我到目前爲止有:

package student; 

public class Student { 

    private String studentName; 
    private String studentNo; 
    private String email; 
    private int year; 

    public Student() { 
     /**studentName = null; 
     *studentNo = null; 
     *email = null; 
     *year = -1; 
     */ 
    } 

    public Student(String nName, String nNum, String nEmail, int nYr) { 
     this.studentName = nName; 
     this.studentNo = nNum; 
     this.email = nEmail; 
     this.year = nYr; 
    } 

    public void setStudentName(String newStudentName) { 
     studentName = newStudentName; 
    } 

    public void setStudentNo(String newStudentNo) { 
     studentNo = newStudentNo; 
    } 

    public void setEmail(String newEmail) { 
     email = newEmail; 
    } 

    public void setYear(int newYear) { 
     year = newYear; 
    } 

    public String getStudentName() { 
     return studentName; 
    } 

    public String getStudentNo() { 
     return studentNo; 
    } 

    public String getEmail() { 
     return email; 
    } 

    public int getYear() { 
     return year; 
    } 


    } 
} 

package student; 
import java.util.ArrayList; 
import java.util.Scanner; 

public class studentTest { 

    public static void main(String[] args) { 

     Scanner input = new Scanner(System.in); 

     Student student1 = new Student(); 
     Student student2 = new Student(); 
     Student student3 = new Student(); 
     Student student4 = new Student(); 
     Student student5 = new Student(); 


    } 
} 
+5

嗨,羅布,你問的是什麼問題? – Hbcdev

+3

到目前爲止,現在您需要閱讀http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html – kosa

+0

...並決定要提供哪些功能。你想要用ArrayList做什麼? –

回答

-1

您可能需要更新如下主要方法:

public static void main(String[] args) { 
    List<Student> students = new ArrayList<Student>(); 
    Scanner input = new Scanner(System.in); 

    System.out.println("Enter number of students"); 
    int countStudents = input.nextInt(); 

    for(int i=0; i< countStudents; i++){ 
      Student student = new Student(); 
      System.out.println("Enter details for student"+i); 

      System.out.println("Enter name"); 
      student.setStudentName(input.next()); 

      System.out.println("Enter Number"); 
      student.setStudentNo(input.next()); 

      System.out.println("Enter email"); 
      student.setEmail(input.next()); 

      System.out.println("Enter year"); 
      student.setYear(input.nextInt()); 
      students.add(student); 
    } 
    //Your list of students is populated now 
} 
+0

@Nagative選民:請留下一些意見,以幫助瞭解什麼是錯的? –

1

看一看爲Scanner文檔。

從你在studentTest到目前爲止所做的代碼,它看起來像你正在採取用戶的所有輸入。

你基本上需要輸入的所有數據在一個循環:

// create ArrayList 
for (int i=0; i < 5; i++) { 
    String studentName = input.nextLine(); 
    .... 

    Student student = new Student(); 
    student.setStudentName(); 
    ... 

    // add student to arraylist 
} 

我認爲你會從我已經離開了位填充受益。

+0

同意致謝:) – joe

0

我認爲他只是想填充Student類 這樣的事情。

while(true){ 
    Scanner input = new Scanner(System.in); 

    Student student1 = new Student(); 
    int year= input.nextInt(); 
    String studentName=input.nextLine(); 
    studentNo=input.nextLine(); 
    String email=input.nextLine(); 

    student1.setStudentName(studentName); 
    student1.setStudentNo(studentNo); 
    student1.setEmail(email); 
    student1.setYear(year) 

    int year= input.nextInt(); 
    String studentName=input.nextLine(); 
    studentNo=input.nextLine(); 
    String email=input.nextLine(); 



     break; // at the last position 
     }