将对象插入Java数组

将对象插入Java数组,java,arrays,class,object,constructor,Java,Arrays,Class,Object,Constructor,我从老师那里得到了下一个作业- 我需要建立一个课程班和学生班 并让每一个学生都参加课程 每个学生都有一个Id、姓名和等级 我尝试了下一个代码: public class Course { Student[] android = new Student[100]; private void addStudent(Student a) { for (int i=0;i<android.length;i++) { if (andro

我从老师那里得到了下一个作业-

我需要建立一个课程班和学生班 并让每一个学生都参加课程 每个学生都有一个Id、姓名和等级

我尝试了下一个代码:

 public class Course {

    Student[] android = new Student[100];


    private void addStudent(Student a) {
        for (int i=0;i<android.length;i++) {
            if (android[i] == null) {
                android[i] = a;
                break;
            }
        }

    }

    public static void main(String[] args) {
        addStudent(Joe);

    }

}
**数组在开始时容纳100个空学生

当添加一个student时,我需要检查数组中的第一个空值并将其放入 那里

打印学生时:我只需要打印数组中的非空对象**

此代码

Array[] Android = new Array[100];
正在创建数组类型的数组,因此只能在其中存储数组对象。 如果要存储学生,则需要创建一个数组,而不是:

Student[] android = new Student[100];
此外,您需要认识到Java中的数组是从0索引的。也就是说,不能引用与数组大小相同的位置。在你的情况下,你已经 一个包含100个元素的数组,但for循环试图在其中放入101个对象

此外,问题文本意味着您只想插入新的Student对象一次,但循环会将其放入数组中的每个空位置

请尝试以下方法:

    for (int i=0;i<android.length;i++) { // < instead of <=, don't hardcode the length
        if (android[i] == null) {
            android[i] = a;
            break;                       // once we insert a, stop looping
        }
    }
通过谷歌快速搜索Java变量范围教程,您可以了解如何以及何时使用本地变量和成员变量。

首先,更改

Array[] Android = new Array[100]; 

这样做的目的是创建一个大小为100的数组,数组的类型是Students,这就是您将要插入到数组中的内容。你也必须改变

for (int i=0;i<=100;i++) {
        if (Android[i] == null) {
            Android[i] = a;

        }
}

否则,您将得到一个列表越界错误。最好不要在代码中硬编码值——这是未来的良好实践


祝你好运

在studentsid、name、gbgaray size 100和current size=3的数组中的p位置插入student S 1111的方法,ahmed,3.5


-remove方法从student数组中删除GBG=2.5的student。数组大小为100,currentsize=3

student[]android=new student[100];android[i]=a;-问题已解决。数组[]Android=新数组[100];-我认为这条线不像你想的那样。也许你想要学生[]camelCaseName=新学生[100];?你们中的任何一个人都应该回答谢谢,工作了。但现在我用的是addStudentOfir;它给了我一个错误,Ofir不能解析为一个变量,Ofir是我在学生课堂上做的一个学生,除非它是公开的,否则它在学生课堂上对你没有帮助。“为什么不在你们的课程中创建一个信息资源库呢?”大使说,这是一个完全不同的问题。您可能应该打开一个关于它的新问题,或者至少编辑您的原始问题,并向我们展示给出此问题的代码。非常感谢!因此,如果不在同一个方法中声明,就无法从课程类中添加Student?每个学生都必须在某个地方实例化。如果您想使用在其他地方创建的方法,您需要有一种方法来引用它,例如静态成员,或者作为过程中另一个方法的参数。查看更多信息。
Array[] Android = new Array[100]; 
Student[] listOfStudent = new Student[100];
for (int i=0;i<=100;i++) {
        if (Android[i] == null) {
            Android[i] = a;

        }
}
for(int i=0; i < listOfStudents.length; i++){
    if(listOfStudents[i] == null){
        listOfStudent[i] = a;
    }
}