使用不同的类文件将值输入到数组中

时间:2015-03-09 08:57:57

标签: java

我有以下代码: 第一档:

public class StudentServices {

    Scanner scan = new Scanner(System.in);
    Student student = new Student();
    Student[] array = new Student[5];

    public void setStudentInfo(){

        for(int i = 0; i < 5; i++){

            System.out.println("Enter Student Name: ");
            student.name = scan.nextLine();

            array = new Student[i];
        }
    }

    public void displayStudentInfo(){

        for(int i = 0; i < 5; i++){

            System.out.println("Student Name: "+ student.name);
        }  
    }    
}

第二档:

public class Student {
    String name;
}

当我输入1,2,3,4和5时,我得到的输出是:

    Student Name: 5
    Student Name: 5
    Student Name: 5
    Student Name: 5
    Student Name: 5

我知道类文件很复杂,但必须这样做。非常感谢帮助。

2 个答案:

答案 0 :(得分:0)

主要问题在于你的forloop代码:

for(int i = 0; i < 5; i++){

        array[i] = new Student();
        System.out.println("Enter Student Name: ");
        array[i].name = scan.nextLine();
    }

尝试上面的代码。 我将一个新学生分配给索引i的数组。然后我读了这个名字并将其存储在学生名下。

您的输出代码也应该更改

for(int i = 0; i < 5; i++){
        System.out.println("Student Name: "+ array[i].name);
    }  

您的问题是您没有正确使用阵列。数组的工作方式与变量完全相同,但您可以通过指定一个int的索引来访问元素。

查看http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html它会告诉您如何正确使用数组。

答案 1 :(得分:0)

public void setStudentInfo(){
        for(int i = 0; i < 5; i++){          
            System.out.println("Enter Student Name: ");
            Student student = new Student();
            student.name = scan.nextLine();
            array[i] = student;
        }
    }

 public void displayStudentInfo(){

    for(int i = 0; i < 5; i++){

        System.out.println("Student Name: "+ array[i].name);
    }  
}