Java 如何循环数组并将其放入对象中

Java 如何循环数组并将其放入对象中,java,arrays,object,Java,Arrays,Object,我想循环使用我拥有的数组,并将每个值赋给对象中的一个变量 对不起,我想说得更清楚一些 我正在读取一个.txt文件,需要将5个学生的值插入到对象中 文本文件是一个.csv文件,如下所示 弗兰克,韦斯特,98,95,87,78,77,80 2,戴安,格林,78,94,88,87,95,92 3,道格,雷,78,94,88,87,95,92 詹姆斯,休利特,69,92,74,77,89,91 5,Aroha,Wright,97,92,87,83,82,92` 理想情况下,我希望创建一个循环,循环遍历每

我想循环使用我拥有的数组,并将每个值赋给对象中的一个变量

对不起,我想说得更清楚一些

我正在读取一个.txt文件,需要将5个学生的值插入到对象中

文本文件是一个.csv文件,如下所示

弗兰克,韦斯特,98,95,87,78,77,80

2,戴安,格林,78,94,88,87,95,92

3,道格,雷,78,94,88,87,95,92

詹姆斯,休利特,69,92,74,77,89,91

5,Aroha,Wright,97,92,87,83,82,92`

理想情况下,我希望创建一个循环,循环遍历每个字段并生成一个新的student对象

代码片段是我收到的示例代码,但我在几个小时的尝试后无法使其工作

本质上,我想我是在问addstudent方法应该如何工作,因为这是一个将这些值放入对象的方法

readFile()方法的代码:


studentdata.txt的数据

假设文本文件的设置与
addStudent(…)
方法中的参数相匹配,则可以使用

addStudent(words[0], words[1], words[2], ...);

你的问题不清楚。。根据您的编码风格,我认为您尝试从文本文件读取数据,并将所有数据存储到集合对象中

根据我的假设,您可以通过使用流动代码来实现这一点

public class Student {

    private String id;
    private String firstName;
    private String lastName;

    public Student(){}

    //all args constructor 
    public Student(String id, String firstName, String lastName) {
        this.id = id;
        this.firstName = firstName;
        this.lastName = lastName;
    }

    // all getter and setter code
}
在您的代码中,更改为

List<Student> list = new ArrayList<>();
 while(scanner.hasNextLine()){
               String[] words = scanner.nextLine().split(",");
               list.add(new Student(words[0],words[1],words[2])); // TODO: Finish adding the parameters
  }
List List=new ArrayList();
while(scanner.hasNextLine()){
String[]words=scanner.nextLine().split(“,”);
list.add(新学生(单词[0],单词[1],单词[2]);//TODO:完成添加参数
}

首先,创建一个类学生

public class Student {
  public String id, first_name,last_name;
  //assuming it was subject grades
  public String[] subject_grades;

  public void Student(String id,String first_name,String last_name,String subject_grades[]){
     this.id = id;
     this.first_name = first_name;
     this.last_name = last_name;
     this.subject_grades = subject_grades;


  }
}
然后使用main方法

List<Student> student_list = new ArrayList<>();
while(scanner.hasNextLine()){
   String[] words = scanner.nextLine().split(",");
   student_list.add(new Student(words[0],words[1],words[2], new String[] {words[3],words[4],words[5],words[6],words[7]} ));
}

List student\u List=new ArrayList();
while(scanner.hasNextLine()){
String[]words=scanner.nextLine().split(“,”);
添加(新学生(单词[0],单词[1],单词[2],新字符串[]{words[3],单词[4],单词[5],单词[6],单词[7]);
}

您的问题是什么?您想从文件中获取的单词创建学生对象。我的假设正确吗@NicholasK
public static addStudent(String[]values){}
然后在方法中创建一个新的Student对象,并将数组中的值分配给Student对象。@NicholasK是的,这是正确的,很抱歉,我没想到会这么快得到回答,我在上面对它进行了编辑,使它更清晰。你的
学生
课程是如何设置的?您正在正确地读取文件,现在需要做的就是创建一个
Student
对象(您尚未共享)。是否还要将所有这些对象存储在某个集合中?这里的问题是单词[0]返回
1 2 3 4 5
如何设置文本文件?线条是什么样子的?
List<Student> student_list = new ArrayList<>();
while(scanner.hasNextLine()){
   String[] words = scanner.nextLine().split(",");
   student_list.add(new Student(words[0],words[1],words[2], new String[] {words[3],words[4],words[5],words[6],words[7]} ));
}