使用ArrayList参数+ for-each循环编写方法

时间:2014-10-17 20:23:38

标签: java arraylist foreach

熟悉stackoverflow的人。

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

这项任务的问题是:

  

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

这是我的代码:

public static int longest(String[] data){

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

return longString;

}

我在hw提交框中不断收到常规编译器错误 - 没有具体细节。 我看了我的代码一个小时,我找不到有什么问题。对我来说很好看: - (

非常感谢任何和所有建议!谢谢!

2 个答案:

答案 0 :(得分:0)

这段代码编译得很好。但是,它无法满足要求 - 您的方法应该会收到 ArrayList

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

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

    return longString;
}

答案 1 :(得分:0)

这可能是因为这个问题要求你使用String的StringList而不是字符串数组。

试试这段代码:

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

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

    return longString;

}

修改 您必须将此代码放在一个类中,并使用 main 方法来运行它。 您的代码将如下所示:

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) {
        // ...
    }

}