Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ArrayList“;获取(i)“;使用公共类变量的命令_Java_Arraylist - Fatal编程技术网

Java ArrayList“;获取(i)“;使用公共类变量的命令

Java ArrayList“;获取(i)“;使用公共类变量的命令,java,arraylist,Java,Arraylist,我试图获取最长名字的长度,并将其保存为int-longest,但我的代码没有正确地从我班的学生那里获取名字 这是我的密码: public static int findLongestFirstName(ArrayList<Student> studentList) { int longest = 0; for (int i = 0; i < studentList.size(); i++) { if (studentLi

我试图获取最长名字的长度,并将其保存为int-longest,但我的代码没有正确地从我班的学生那里获取名字

这是我的密码:

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;
}

}

getFirstName
不是一个变量,而是一个方法。Java语法在调用方法时需要括号(即使该方法不带参数):

(在下一行)

顺便说一下,您可以将整个
if
构造替换为:

longest = Math.max(studentList.get(i).getFirstName().length(), longest);
为了进一步简化此过程,可以为每个循环使用一个:

public static int findLongestFirstName(ArrayList<Student> studentList) 
{
    int longest = 0;
    for (Student student : studentList) {
        longest = Math.max(student.getFirstName().length(), longest);
    }
    return longest;
}
public static int findLongestFirstName(ArrayList studentList)
{
int=0;
用于(学生:学生名单){
最长=Math.max(student.getFirstName().length(),最长);
}
返回时间最长;
}

getFirstName
不是一个变量,而是一个方法。Java语法在调用方法时需要括号(即使该方法不带参数):

(在下一行)

顺便说一下,您可以将整个
if
构造替换为:

longest = Math.max(studentList.get(i).getFirstName().length(), longest);
为了进一步简化此过程,可以为每个循环使用一个:

public static int findLongestFirstName(ArrayList<Student> studentList) 
{
    int longest = 0;
    for (Student student : studentList) {
        longest = Math.max(student.getFirstName().length(), longest);
    }
    return longest;
}
public static int findLongestFirstName(ArrayList studentList)
{
int=0;
用于(学生:学生名单){
最长=Math.max(student.getFirstName().length(),最长);
}
返回时间最长;
}

您的代码看起来很好,但是导致问题的if语句末尾有一个分号。

您的代码看起来很好,但是导致问题的if语句末尾有一个分号