Необъявленная переменная при попытке использовать get() в ArraylistJAVA

Программисты JAVA общаются здесь
Anonymous
Необъявленная переменная при попытке использовать get() в Arraylist

Сообщение Anonymous »

Я пытаюсь отфильтровать определенные элементы списка массива, но постоянно получаю ошибку необъявленной переменной.

Код: Выделить всё

public class Student
{

private String name;
private int age;
private double gpa;

public Student(String studentName, int studentAge, double studentGpa)
{

name = studentName;
age = studentAge;
gpa = studentGpa;

}
public String toString()
{

return "Student[Name: " + name + " Age: " + age + " GPA: " + gpa + "]\n";

}

}

Класс Студенты должен настроить список массивов и иметь несколько методов для определения того, у какого студента самый высокий средний балл, средний средний балл и т. д.

Код: Выделить всё

import java.util.ArrayList;
import java.util.*;
import java.text.*;
import java.io.*;

public class Students
{
private ArrayList students;

public Students()
{

students = new ArrayList();

}

public void readFile() throws IOException
{
String studentName;
int studentAge;
double studentGpa;
String line;

Scanner sc = new Scanner(new File("Students.txt"));

while (sc.hasNextLine())
{

studentName = sc.nextLine();

line = sc.nextLine();
studentAge = Integer.parseInt(line);

line = sc.nextLine();
studentGpa = Double.parseDouble(line);

Student student = new Student(studentName, studentAge, studentGpa);
students.add(student);
}
sc.close();
}

public String toString()
{
String results = "Students [";

for(int i = 0; i < students.size(); i++)
{results += students.get(i).toString();  }

return results;

}

//this method keeps saying studentGpa is an undeclared variable

public double highestGpa()
{

double highestGpa = students.get(0).studentGpa;

for(int i = 0; i < students.size(); i++)

if( students.get(i).studentGpa > highestGpa)
highestGpa = students.get(i).studentGpa;

}

}
Проблема, с которой я столкнулся, связана с методом highGpa(). Я пытаюсь получить доступ к элементу StudentGpa внутри списка массивов, но он продолжает говорить, что StudentGpa — это необъявленный метод.
Я пытался изменить StudentGpa на gpa, так как решил создать конструктор Student без использования ключевое слово 'this', но поскольку это частная переменная, она работать не будет.
Как мне получить доступ к этим различным элементам в списке массивов внутри отдельных методов?

Подробнее здесь: https://stackoverflow.com/questions/785 ... -arraylist

Вернуться в «JAVA»