比较数组Java中的多个字符串长度

时间:2014-02-27 21:09:36

标签: java arrays string

这就是我们的要求:

使用JOptionPane类的showInputDialog()方法询问您的三个家庭成员的英文版本。 显示姓氏最长的家庭成员的姓名,如下所示。 (如果有平局,只显示两者中的一个。) 丹尼尔拥有最长的名字。

这就是我到目前为止所遇到的情况:

import javax.swing.JOptionPane;

public class Foothill {      

public static void main(String[] args) {

    String[] names = new String[2];

    for(int x=0; x < 4; x++){  

        names[x] = (JOptionPane.showInputDialog("Enter your name"));

        for(int j=0; )
        }
    if();{

             JOptionPane.showMessageDialog(null,"The number with the greatest value is " + Max);
        }
    }
}

我很难理解如何测试数组中每个字符串的长度,然后比较数组中字符串的长度。我知道有这样做的内置方法,但是有人可以通过迭代解释如何做到这一点吗?谢谢!

4 个答案:

答案 0 :(得分:0)

您可以迭代所有名称并在String中使用.length()方法:

String longest = "";
for (String name : names) {
    longest = name.length() > longest.length() ? name : longest;
}

这会遍历您的名单(names),并将最长的内容分配给变量longest

答案 1 :(得分:0)

真的非常简单。

String[] names = {
  "John",
  "Cassandra",
  "Tom"
};

String longest = names[0];
for(int i = 1; i < names.length; i++) {
    String name = names[i];
    if(name.length() > longest.length())
        longest = name;
}

// longest will be "Cassandra" here.

答案 2 :(得分:0)

试试这个:

public static void main(String[] args) {

    String[] names = new String[3];
    int longest = 0;
    String longestName = "";

    for(int x=0; x < 3; x++){

        names[x] = (JOptionPane.showInputDialog("Enter your gosh darned name"));

        if(names[x].length() > longest){
            longest= names[x].length();
            longestName = names[x];
        }

    }
    JOptionPane.showMessageDialog(null, longestName +" has the longest name, it is " 
        + longest + "characters");

}

答案 3 :(得分:0)

一个简单的解决方案是迭代所有名称并使用.length()方法比较长度。

另一个解决方案是每次输入字符串时比较长度(只有一个用于循环)。 这是一个例子:

int nb = 2;
String[] names = new String[nb];
int maxLength = -1; // Default value
for (int i = 0; i < nb; i++) {
    names[i] = JOptionPane.showInputDialog("Enter your name : ");
    // Compare the length of this name to the previous greatest length
    if (names[i].length() > maxLength) {
        // Change the maximum
        maxLength = names[i].length();
    }
}
JOptionPane.showMessageDialog(null, "The greatest value is " + maxLength);