2011-10-31 65 views
0

嘿傢伙我可以得到一些幫助,這個Java項目我的問題是這條線學生s =新學生(r.getChar(),r.getChar(),r.getNum ),r.getNum());我想使它成爲一個數組,但如果我嘗試更換學生的白色學生s [i] =新學生(r.getChar()........)我得到一個錯誤告訴我,我不能從學生轉換以學生[]我NEAD的解決方案,使其成爲一個數組Java不能轉換從學生到學生[]

不介意r.getChar()

public class Student extends Person { 
    private int grade; 
    public Student(String name, String address, int age, int grade) { 
    super(name, address, age); 
    this.grade = grade; 
    } 

    public void setGrade(int grade){ 
    this.grade = grade; 
    } 

    public int getGrade(){ 
    return grade; 
    } 
} 

public class Person{ 
    private String name; 
    private String address; 
    private int age ; 

    public Person(String name,String address,int age){ 
    this.name = name; 
    this.address = address; 
    this.age = age; 
    } 

    public void setName(String name){ 
    this.name = name; 
    } 

    public void setAddress(String address){ 
    this.address = address; 
    } 

    public void setAge(int age){ 
    this.age = age; 
    } 

    public String getName(){ 
    return name; 
    } 

    public String getAddress(){ 
    return address; 
    } 

    public int getAge(){ 
    return age; 
    } 
} 
+0

請嘗試將您的代碼修剪到需要表達的最小值。適當的格式也可能有所幫助。 –

回答

4

這裏是你將如何創建Student秒的數組:

Students allStudents[] = new Students[x]; 

這將創建一個x元素的數組,全部初始化爲null。然後,你將初始化每個元素在一個循環內或其他東西:

allStudents[i] = new Student(...); 
+0

Dammm我一直在試圖找出過去2小時感謝lod:D它工作 –

+0

說太快我得到ArrayIndexOutOfBoundsException –

+0

@Colin雪:異常說這一切,你的數組索引大於數組長度。請注意,大小爲'n'的數組從'0'到'n-1'索引。 –

0

你想要一個只有1個元素的數組? 在這種情況下,您需要首先分配數組,然後分配對元素編號0的引用。

類似 學生[] s = new Student [1]; //分配數組 S [0] =新的學生(...)//普通建築工呼叫

+0

嘿沒有我想做一個數組與x元素 –

0

或者你可以使用短符號的第一個回答道:

Student students[] = {new Student(..)}; 

這是相同的但有點短。