オブジェクト指向言語を使用しているため、並列配列を使用する必要はありません。macosxnerd101によるこのすばらしいチュートリアルは、dreamincode.net: Moving Away From Parallel Arraysで確認できます。
Student
オブジェクトを作成する必要があります。
public class Student {
private String name;
private double grade;
}
学生をループして成績を割り当てます。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Grades {
public final String[] names = { "Bashful", "Doc", "Dopey", "Grumpy",
"Happy", "Sleepy", "Sneezy" };
private List<Student> students;
public Grades() {
students = new ArrayList<Student>();
for (String name : names)
students.add(new Student(name));
int i = 0;
Scanner scan = new Scanner(System.in);
while (i < names.length) {
Student currStudent = students.get(i);
System.out.printf("Enter grade for %s: ", currStudent.getName());
double inputGrade = scan.nextDouble();
currStudent.setGrade(inputGrade);
i++;
}
scan.close();
System.out.println(students);
}
private class Student {
private String name;
private double grade;
public Student(String name) {
setName(name);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGrade() {
return String.format("%.2f%%", (grade * 100));
}
public void setGrade(double grade) {
this.grade = grade;
}
public String toString() {
return String.format("Name: %s, Grade: %s", getName(), getGrade());
}
}
public static void main(String[] args) {
new Grades();
}
}