Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java:解析ArrayList并将其设置为对象_Java - Fatal编程技术网

java:解析ArrayList并将其设置为对象

java:解析ArrayList并将其设置为对象,java,Java,我有两门课: class Student { String name; String age ; } class Person { String name; String age ; String grade ; } 在下面的代码中,我创建学生对象并将其设置在ArrayList中。在ArrayList中设置数据后,我需要解析该ArrayList并在另一个对象中设置值: public class Work { public static void main(String args[

我有两门课:

class Student
{
String name;
String age ;
}

class Person
{

String name;
String age ;
String grade ;
}
在下面的代码中,我创建学生对象并将其设置在ArrayList中。在ArrayList中设置数据后,我需要解析该ArrayList并在另一个对象中设置值:

public class Work {

    public static void main(String args[]) {

        List StudentItems = new ArrayList();

        Student stud1 = new Student();
        Student stud2 = new Student();

        stud1.name = "ABC";
        stud1.age = "28";
        stud2.name = "XYZ";
        stud2.age = "38";

        StudentItems.add(stud1);
        StudentItems.add(stud2);

        Person[] pers = new Person[StudentItems.size()];

        for (int i = 0; i < StudentItems.size(); i++) {
            pers[i] = new Person();

// I am confused here , could anyone please help 

        }

    }
}
大概是这样的:

    List<Student> studentItems = new ArrayList<Student>();
    Student stud1 = new Student();
    Student stud2 = new Student();

    stud1.name = "ABC";
    stud1.age = "28";
    stud2.name = "XYZ";
    stud2.age = "38";

    studentItems.add(stud1);
    studentItems.add(stud2);

    for (int i = 0; i < studentItems.size(); i++) {
        Student student = studentItems.get(i);
        Person person = new Person();
        person.name = student.name;
        person.age = student.age;
        // person.grade = something - set grade here
        pers[i] = person;
    }
for (int i = 0; i < studentItems.size(); i++) {
    Student student = studentItems.get(i);
    Person person = new Person();
    person.setName(student.getName());
    person.setAge(student.getAge());
    // person.setGrade(computeGradeSomehow()); - set grade here
    persons[i] = person;
}
class Person {
private String name; 
private int age; 

//getters and setters
}

class Student extends Person { // here you have name and age from Person
private String grade;

//getters and setters
}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Person {

    private String name;
    private int age;
    private String grade;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

    public String getGrade() {
        return this.grade;
    }

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

}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Student {

    private String name;
    private int age;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

}
但请注意不要使用公共字段。。。所以它应该是这样的:

    List<Student> studentItems = new ArrayList<Student>();
    Student stud1 = new Student();
    Student stud2 = new Student();

    stud1.name = "ABC";
    stud1.age = "28";
    stud2.name = "XYZ";
    stud2.age = "38";

    studentItems.add(stud1);
    studentItems.add(stud2);

    for (int i = 0; i < studentItems.size(); i++) {
        Student student = studentItems.get(i);
        Person person = new Person();
        person.name = student.name;
        person.age = student.age;
        // person.grade = something - set grade here
        pers[i] = person;
    }
for (int i = 0; i < studentItems.size(); i++) {
    Student student = studentItems.get(i);
    Person person = new Person();
    person.setName(student.getName());
    person.setAge(student.getAge());
    // person.setGrade(computeGradeSomehow()); - set grade here
    persons[i] = person;
}
class Person {
private String name; 
private int age; 

//getters and setters
}

class Student extends Person { // here you have name and age from Person
private String grade;

//getters and setters
}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Person {

    private String name;
    private int age;
    private String grade;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

    public String getGrade() {
        return this.grade;
    }

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

}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Student {

    private String name;
    private int age;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

}
大概是这样的:

    List<Student> studentItems = new ArrayList<Student>();
    Student stud1 = new Student();
    Student stud2 = new Student();

    stud1.name = "ABC";
    stud1.age = "28";
    stud2.name = "XYZ";
    stud2.age = "38";

    studentItems.add(stud1);
    studentItems.add(stud2);

    for (int i = 0; i < studentItems.size(); i++) {
        Student student = studentItems.get(i);
        Person person = new Person();
        person.name = student.name;
        person.age = student.age;
        // person.grade = something - set grade here
        pers[i] = person;
    }
for (int i = 0; i < studentItems.size(); i++) {
    Student student = studentItems.get(i);
    Person person = new Person();
    person.setName(student.getName());
    person.setAge(student.getAge());
    // person.setGrade(computeGradeSomehow()); - set grade here
    persons[i] = person;
}
class Person {
private String name; 
private int age; 

//getters and setters
}

class Student extends Person { // here you have name and age from Person
private String grade;

//getters and setters
}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Person {

    private String name;
    private int age;
    private String grade;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

    public String getGrade() {
        return this.grade;
    }

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

}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Student {

    private String name;
    private int age;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

}
但请注意不要使用公共字段。。。所以它应该是这样的:

    List<Student> studentItems = new ArrayList<Student>();
    Student stud1 = new Student();
    Student stud2 = new Student();

    stud1.name = "ABC";
    stud1.age = "28";
    stud2.name = "XYZ";
    stud2.age = "38";

    studentItems.add(stud1);
    studentItems.add(stud2);

    for (int i = 0; i < studentItems.size(); i++) {
        Student student = studentItems.get(i);
        Person person = new Person();
        person.name = student.name;
        person.age = student.age;
        // person.grade = something - set grade here
        pers[i] = person;
    }
for (int i = 0; i < studentItems.size(); i++) {
    Student student = studentItems.get(i);
    Person person = new Person();
    person.setName(student.getName());
    person.setAge(student.getAge());
    // person.setGrade(computeGradeSomehow()); - set grade here
    persons[i] = person;
}
class Person {
private String name; 
private int age; 

//getters and setters
}

class Student extends Person { // here you have name and age from Person
private String grade;

//getters and setters
}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Person {

    private String name;
    private int age;
    private String grade;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

    public String getGrade() {
        return this.grade;
    }

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

}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Student {

    private String name;
    private int age;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

}

您可以按如下方式进行操作:

pers[i].name = StudentItems.get(i).name;

您可以按如下方式进行操作:

pers[i].name = StudentItems.get(i).name;

若您经常从student对象转换为Person对象,那个么添加如下构造函数和setter/getter方法

class Person {

        String name;

        String age;

        String grade;

        public Person() {

        }

        Person(Student student) {
            this.name = student.getName();
            this.age = student.getAge();
        }

        public String getGrade() {
            return grade;
        }

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

    class Student {
        private String name;

        private String age;

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

        public String getName() {
            return name;
        }

        public String getAge() {
            return age;
        }

        public void setAge(String age) {
            this.age = age;
        }
    }
在工作类中,创建Person对象,如

List<Student> studentItems = new ArrayList<Student>();
 List<Person> personItems = new ArrayList<Person>();

for (int i = 0; i < studentItems.size(); i++) {
        Student student = studentItems.get(i);
        Person person = new Person(student);
        person.setGrade(your_formula_for grade);  
        personItems.add(person); 
}

若您经常从student对象转换为Person对象,那个么添加如下构造函数和setter/getter方法

class Person {

        String name;

        String age;

        String grade;

        public Person() {

        }

        Person(Student student) {
            this.name = student.getName();
            this.age = student.getAge();
        }

        public String getGrade() {
            return grade;
        }

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

    class Student {
        private String name;

        private String age;

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

        public String getName() {
            return name;
        }

        public String getAge() {
            return age;
        }

        public void setAge(String age) {
            this.age = age;
        }
    }
在工作类中,创建Person对象,如

List<Student> studentItems = new ArrayList<Student>();
 List<Person> personItems = new ArrayList<Person>();

for (int i = 0; i < studentItems.size(); i++) {
        Student student = studentItems.get(i);
        Person person = new Person(student);
        person.setGrade(your_formula_for grade);  
        personItems.add(person); 
}

成绩应该在学生班上。如果您选择此选项,您的类应该如下所示:

    List<Student> studentItems = new ArrayList<Student>();
    Student stud1 = new Student();
    Student stud2 = new Student();

    stud1.name = "ABC";
    stud1.age = "28";
    stud2.name = "XYZ";
    stud2.age = "38";

    studentItems.add(stud1);
    studentItems.add(stud2);

    for (int i = 0; i < studentItems.size(); i++) {
        Student student = studentItems.get(i);
        Person person = new Person();
        person.name = student.name;
        person.age = student.age;
        // person.grade = something - set grade here
        pers[i] = person;
    }
for (int i = 0; i < studentItems.size(); i++) {
    Student student = studentItems.get(i);
    Person person = new Person();
    person.setName(student.getName());
    person.setAge(student.getAge());
    // person.setGrade(computeGradeSomehow()); - set grade here
    persons[i] = person;
}
class Person {
private String name; 
private int age; 

//getters and setters
}

class Student extends Person { // here you have name and age from Person
private String grade;

//getters and setters
}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Person {

    private String name;
    private int age;
    private String grade;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

    public String getGrade() {
        return this.grade;
    }

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

}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Student {

    private String name;
    private int age;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

}
现在,你想要学生名单上的人吗?您可以这样做:

for (int i = 0; i < listOfStudents.size(); i++){
arrayOfPersons[i] = (Person)listOfStudents.get(i);
}

成绩应该在学生班上。如果您选择此选项,您的类应该如下所示:

    List<Student> studentItems = new ArrayList<Student>();
    Student stud1 = new Student();
    Student stud2 = new Student();

    stud1.name = "ABC";
    stud1.age = "28";
    stud2.name = "XYZ";
    stud2.age = "38";

    studentItems.add(stud1);
    studentItems.add(stud2);

    for (int i = 0; i < studentItems.size(); i++) {
        Student student = studentItems.get(i);
        Person person = new Person();
        person.name = student.name;
        person.age = student.age;
        // person.grade = something - set grade here
        pers[i] = person;
    }
for (int i = 0; i < studentItems.size(); i++) {
    Student student = studentItems.get(i);
    Person person = new Person();
    person.setName(student.getName());
    person.setAge(student.getAge());
    // person.setGrade(computeGradeSomehow()); - set grade here
    persons[i] = person;
}
class Person {
private String name; 
private int age; 

//getters and setters
}

class Student extends Person { // here you have name and age from Person
private String grade;

//getters and setters
}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Person {

    private String name;
    private int age;
    private String grade;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

    public String getGrade() {
        return this.grade;
    }

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

}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Student {

    private String name;
    private int age;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

}
现在,你想要学生名单上的人吗?您可以这样做:

for (int i = 0; i < listOfStudents.size(); i++){
arrayOfPersons[i] = (Person)listOfStudents.get(i);
}

试试看。这就行了

您的Person类应该是这样的:

    List<Student> studentItems = new ArrayList<Student>();
    Student stud1 = new Student();
    Student stud2 = new Student();

    stud1.name = "ABC";
    stud1.age = "28";
    stud2.name = "XYZ";
    stud2.age = "38";

    studentItems.add(stud1);
    studentItems.add(stud2);

    for (int i = 0; i < studentItems.size(); i++) {
        Student student = studentItems.get(i);
        Person person = new Person();
        person.name = student.name;
        person.age = student.age;
        // person.grade = something - set grade here
        pers[i] = person;
    }
for (int i = 0; i < studentItems.size(); i++) {
    Student student = studentItems.get(i);
    Person person = new Person();
    person.setName(student.getName());
    person.setAge(student.getAge());
    // person.setGrade(computeGradeSomehow()); - set grade here
    persons[i] = person;
}
class Person {
private String name; 
private int age; 

//getters and setters
}

class Student extends Person { // here you have name and age from Person
private String grade;

//getters and setters
}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Person {

    private String name;
    private int age;
    private String grade;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

    public String getGrade() {
        return this.grade;
    }

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

}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Student {

    private String name;
    private int age;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

}
你的学生班级应该是这样的:

    List<Student> studentItems = new ArrayList<Student>();
    Student stud1 = new Student();
    Student stud2 = new Student();

    stud1.name = "ABC";
    stud1.age = "28";
    stud2.name = "XYZ";
    stud2.age = "38";

    studentItems.add(stud1);
    studentItems.add(stud2);

    for (int i = 0; i < studentItems.size(); i++) {
        Student student = studentItems.get(i);
        Person person = new Person();
        person.name = student.name;
        person.age = student.age;
        // person.grade = something - set grade here
        pers[i] = person;
    }
for (int i = 0; i < studentItems.size(); i++) {
    Student student = studentItems.get(i);
    Person person = new Person();
    person.setName(student.getName());
    person.setAge(student.getAge());
    // person.setGrade(computeGradeSomehow()); - set grade here
    persons[i] = person;
}
class Person {
private String name; 
private int age; 

//getters and setters
}

class Student extends Person { // here you have name and age from Person
private String grade;

//getters and setters
}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Person {

    private String name;
    private int age;
    private String grade;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

    public String getGrade() {
        return this.grade;
    }

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

}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Student {

    private String name;
    private int age;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

}
最后,工人阶级:

package com.student.person.work;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author sarath_sivan
 */
public class Work {

    public static String calculateGrade() {
        String grade = "";
        // Your code to find the grade.
        //............
        return grade;
    }

    public static void doWork() {
        List<Student> studentList = new ArrayList<Student>();

        Student student = new Student();
        student.setName("ABC");
        student.setAge(24);
        studentList.add(student);

        student = new Student();
        student.setName("DEF");
        student.setAge(28);
        studentList.add(student);

        student = new Student();
        student.setName("GHI");
        student.setAge(21);
        studentList.add(student);

        List<Person> personList = new ArrayList<Person>();

        for(Student students : studentList) {
            Person person = new Person();
            person.setName(students.getName());
            person.setAge(students.getAge());
            person.setGrade(Work.calculateGrade());// Setting the grade
        }
    }

    public static void main(String[] args) {
        Work.doWork();
    }

}
希望这会有帮助


谢谢大家!

试试看。这就行了

您的Person类应该是这样的:

    List<Student> studentItems = new ArrayList<Student>();
    Student stud1 = new Student();
    Student stud2 = new Student();

    stud1.name = "ABC";
    stud1.age = "28";
    stud2.name = "XYZ";
    stud2.age = "38";

    studentItems.add(stud1);
    studentItems.add(stud2);

    for (int i = 0; i < studentItems.size(); i++) {
        Student student = studentItems.get(i);
        Person person = new Person();
        person.name = student.name;
        person.age = student.age;
        // person.grade = something - set grade here
        pers[i] = person;
    }
for (int i = 0; i < studentItems.size(); i++) {
    Student student = studentItems.get(i);
    Person person = new Person();
    person.setName(student.getName());
    person.setAge(student.getAge());
    // person.setGrade(computeGradeSomehow()); - set grade here
    persons[i] = person;
}
class Person {
private String name; 
private int age; 

//getters and setters
}

class Student extends Person { // here you have name and age from Person
private String grade;

//getters and setters
}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Person {

    private String name;
    private int age;
    private String grade;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

    public String getGrade() {
        return this.grade;
    }

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

}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Student {

    private String name;
    private int age;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

}
你的学生班级应该是这样的:

    List<Student> studentItems = new ArrayList<Student>();
    Student stud1 = new Student();
    Student stud2 = new Student();

    stud1.name = "ABC";
    stud1.age = "28";
    stud2.name = "XYZ";
    stud2.age = "38";

    studentItems.add(stud1);
    studentItems.add(stud2);

    for (int i = 0; i < studentItems.size(); i++) {
        Student student = studentItems.get(i);
        Person person = new Person();
        person.name = student.name;
        person.age = student.age;
        // person.grade = something - set grade here
        pers[i] = person;
    }
for (int i = 0; i < studentItems.size(); i++) {
    Student student = studentItems.get(i);
    Person person = new Person();
    person.setName(student.getName());
    person.setAge(student.getAge());
    // person.setGrade(computeGradeSomehow()); - set grade here
    persons[i] = person;
}
class Person {
private String name; 
private int age; 

//getters and setters
}

class Student extends Person { // here you have name and age from Person
private String grade;

//getters and setters
}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Person {

    private String name;
    private int age;
    private String grade;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

    public String getGrade() {
        return this.grade;
    }

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

}
package com.student.person.work;

/**
 *
 * @author sarath_sivan
 */
public class Student {

    private String name;
    private int age;

    public String getName() {
       return this.name;
    }

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

    public int getAge() {
        return this.age;
    }

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

}
最后,工人阶级:

package com.student.person.work;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author sarath_sivan
 */
public class Work {

    public static String calculateGrade() {
        String grade = "";
        // Your code to find the grade.
        //............
        return grade;
    }

    public static void doWork() {
        List<Student> studentList = new ArrayList<Student>();

        Student student = new Student();
        student.setName("ABC");
        student.setAge(24);
        studentList.add(student);

        student = new Student();
        student.setName("DEF");
        student.setAge(28);
        studentList.add(student);

        student = new Student();
        student.setName("GHI");
        student.setAge(21);
        studentList.add(student);

        List<Person> personList = new ArrayList<Person>();

        for(Student students : studentList) {
            Person person = new Person();
            person.setName(students.getName());
            person.setAge(students.getAge());
            person.setGrade(Work.calculateGrade());// Setting the grade
        }
    }

    public static void main(String[] args) {
        Work.doWork();
    }

}
希望这会有帮助


谢谢大家!

考虑到您的类的布局确实正确,请参见我的评论,您可以为接受学生作为输入的人编写一个构造函数:

        pers[i] = new Person (StudentItems[i]);
请注意,我将重命名变量:

        persons [i] = new Person (students[i]);
您的新CTor人员如下所示:

class Person
{
  String name;
  String age ;
  String grade ;

  public Person () {}
  public Person (s Student) {
    name = s.name;
    age = s.age;
  }
}
更可能的情况是,您希望更改Student和Person的名称,并从Person派生Student。那么,每个学生都是一个人,在你的循环中,它只是:

        persons [i] = students[i];

考虑到您的类的布局确实正确,请参见我的评论,您可以为接受学生作为输入的人编写一个构造函数:

        pers[i] = new Person (StudentItems[i]);
请注意,我将重命名变量:

        persons [i] = new Person (students[i]);
您的新CTor人员如下所示:

class Person
{
  String name;
  String age ;
  String grade ;

  public Person () {}
  public Person (s Student) {
    name = s.name;
    age = s.age;
  }
}
更可能的情况是,您希望更改Student和Person的名称,并从Person派生Student。那么,每个学生都是一个人,在你的循环中,它只是:

        persons [i] = students[i];

这里的个人课是什么?你想用它做什么?为什么个人有成绩,而学生没有?你没弄混吗?为什么学生不扩展Person?Person类在这里是什么?你想用它做什么?为什么Person有一个等级,而学生没有?你没弄混吗?为什么学生不扩展人?