【发布时间】:2020-03-24 20:00:59
【问题描述】:
我在创建学生班级时遇到问题。 我的输入文件是这样的:
3 //number of exams
Audrey 7 28 1
Eddie 27 19 7
Addison 6 23 31
Stephanie 29 21 7
Laura 19 30 17
我需要使用一个构造函数创建一个学生类,例如
public Student(String name, int[] Student Grades).
问题是我无法创建一个 3 年级的学生, 我需要创建: 成绩为 [7, 28, 1] 的学生 Audrey 或学生 1 的姓名 Audrey 成绩[7,28,1]
我试过但不能为第一个学生放置前 3 个变量。
我该怎么做?
更新了我的工作:
File file = new File("info1.txt");
Scanner input = new Scanner(file);
int []grade = new int[3];
int counter = 0;
Student[] students = new Student[9];
while(input.hasNext()) {
String Studentread= input.nextLine();
for (int i = 0; i < grade.length; i++) {
grade [i] = input.nextInt();
}
System.out.println(grade.toString());
students[counter] = new Student(Studentread, grade);
System.out.println(students[counter].getName() + " " + students[counter].getStudentGrades());
counter++;
input.close();
}
班学生:
private String Name;
public int [] StudentGrades;
public Student(String name, int[] StudentGrades) {
this.Name = name;
this.StudentGrades = StudentGrades;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public int[] getStudentGrades() {
return StudentGrades;
}
public void setStudentGrades(int[] studentGrades) {
StudentGrades = studentGrades;
}
【问题讨论】:
-
到目前为止你尝试了什么?
-
欢迎来到 SO @Alihan - 请注意格式化 How do I format my posts using Markdown or HTML 的约定。注意正确的代码缩进(见我的编辑)。
-
还显示您创建
input它是文件行上的迭代器吗?这:int[] Grades = input.nextInt()可能无法编译,nextInt()返回一个 int,您尝试将其分配给数组。 -
这是我的主要问题。我不能将学生姓名之后的整数放入 Grades 数组。我需要自动执行此操作。当我不从文件中读取时,它很容易。
-
@AlihanAydın 您需要使用循环并调用
input.nextInt();3 次,这将给您 3 个整数,您可以将它们放入您的成绩数组中
标签: java arrays class oop arraylist