Java 为每个循环编写ArrayList参数为+的方法

Java 为每个循环编写ArrayList参数为+的方法,java,arraylist,foreach,Java,Arraylist,Foreach,大家好,斯塔克沃夫的人们 这是我第一次发帖,所以如果我犯了任何错误,我会事先道歉 本任务的问题是: 编写一个名为longest的静态方法,该方法被传递一个字符串的ArrayList,并返回数组中最长字符串的长度,即int。当然,有几个可能具有最长的值。您必须为解决方案中的每个循环使用一个 这是我的密码: public static int longest(String[] data){ int longString = 0; for(String s : data) { if (s.l

大家好,斯塔克沃夫的人们

这是我第一次发帖,所以如果我犯了任何错误,我会事先道歉

本任务的问题是:

编写一个名为longest的静态方法,该方法被传递一个字符串的ArrayList,并返回数组中最长字符串的长度,即int。当然,有几个可能具有最长的值。您必须为解决方案中的每个循环使用一个

这是我的密码:

public static int longest(String[] data){

int longString = 0;
for(String s : data)
{
    if (s.length() > longString)
        longString = s.length();
}

return longString;

}
我一直在hw提交框中得到通用编译器错误-没有详细说明。 我已经看了一个小时我的代码,我不能找出什么是错误的。我觉得很好:-


任何和所有的建议将不胜感激!谢谢大家!

这段代码编译得很好。但是,它不能满足要求-您的方法应该接收ArrayList:


这可能是因为问题要求您使用字符串数组而不是字符串数组

请尝试以下代码:

public static int longest(ArrayList<String> data) {

    int longString = 0;
    for (String s : data) {
        if (s.length() > longString)
            longString = s.length();
    }

    return longString;

}
编辑: 您必须将此代码放入一个类中,并有一个主方法来运行它。 然后,您的代码将如下所示:

import java.util.ArrayList;

public class LongestString {

    public static int longest(ArrayList<String> data) {

        int longString = 0;
        for (String s : data) {
            if (s.length() > longString)
                longString = s.length();
        }

        return longString;

    }

    public static void main(String[] args) {
        // ...
    }

}

你需要在一个类中包装东西。如果它被包装在一个类中,检查它们是否需要一个包声明。编译器错误是怎么说的?你不应该在不编译代码的情况下提交代码。编译它,并尝试理解从编译器获得的特定错误消息。如果您不理解,请发布它。我同意,您应该先用javac在本地编译它,然后看看会出现什么错误。一个提示是这里没有类声明。这是字符串的长度,而不是列表谢谢!幸运的是,这项作业只要求使用这种方法。
import java.util.ArrayList;

public class LongestString {

    public static int longest(ArrayList<String> data) {

        int longString = 0;
        for (String s : data) {
            if (s.length() > longString)
                longString = s.length();
        }

        return longString;

    }

    public static void main(String[] args) {
        // ...
    }

}