找到最长的字符串

时间:2017-11-23 12:51:24

标签: java

我是编程新手。这是使用JAVA查找最长字符串的有效方法吗?任何反馈都表示赞赏。

public static void main(String[] args) {
String [] letterlist = {"Hello" , "my" , "name" , "is" , "John" , "Smith"};
int length = letterlist.length; 
int currentchar; 
int nextchar; 
String getcurrentchar;
String getnextchar; 
String longest = " ";     

for(int index = 1; index <length; index++)
{

    getnextchar = letterlist[index];
    nextchar = getnextchar.length();
    getcurrentchar = letterlist[index-1];
    currentchar = getcurrentchar.length();


        if(nextchar > currentchar)
       {
        longest = getnextchar;

       }
   }
System.out.println(longest);
}

2 个答案:

答案 0 :(得分:2)

我们可以用两行代码完成:

List<String> list = Arrays.asList(letterlist);
String longest = Arrays.stream(letterlist).max(Comparator.comparingInt(String::length)).get();

Demo

受此代码审核问题的启发:

https://codereview.stackexchange.com/questions/75807/finding-the-longest-string-and-its-length-using-java-streams

答案 1 :(得分:0)

为了正确学习,我建议您尝试迭代字符串数组并更新字符串的值,而不是使用java 8流类。 为了获得字符串的字符数,您可以使用字符串类的方法长度。返回字符串的字符数。 如果要比较和更新哪个是迭代的最长字符串迭代,请声明一个空字符串。