2011-10-31 79 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(..)}; 

这是相同的但有点短。