我正在尝试获取最长名字的长度并将其保存为 int longest,但是我的代码没有正确地从我的类(class) Student 中获取名字
这是我的代码:
public static int findLongestFirstName(ArrayList<Student> studentList)
{
int longest = 0;
for (int i = 0; i < studentList.size(); i++)
{
if (studentList.get(i).getFirstName.length() > longest);
{
longest = studentList.get(i).getFirstName.length();
}
}
return longest;
}
这是我获取变量的地方:
public class Student
{
private int IDnum;
private String firstName;
private String lastName;
private int gradYear;
private double gradePoint;
public Student(int ID, String first, String last, int year, double GPA)
{
IDnum = ID;
firstName = first;
lastName = last;
gradYear = year;
gradePoint = GPA;
}
public int getID()
{
return IDnum;
}
public String getFirstName()
{
return firstName;
}
public String getLastName()
{
return lastName;
}
public int getYear()
{
return gradYear;
}
public double getGPA()
{
return gradePoint;
}
最佳答案
getFirstName
不是一个变量,它是一个方法。 Java 语法在调用方法时需要括号(即使该方法不带参数):
if (studentList.get(i).getFirstName().length() > longest);
^^
(在下一行)。
顺便说一句,您可以将整个 if
结构替换为:
longest = Math.max(studentList.get(i).getFirstName().length(), longest);
为了进一步简化,您可以使用 for-each 循环:
public static int findLongestFirstName(ArrayList<Student> studentList)
{
int longest = 0;
for (Student student : studentList) {
longest = Math.max(student.getFirstName().length(), longest);
}
return longest;
}
关于java - ArrayList "get(i)"命令使用公共(public)类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26285105/