这就是我们的要求:
使用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);
}
}
}
我很难理解如何测试数组中每个字符串的长度,然后比较数组中字符串的长度。我知道有这样做的内置方法,但是有人可以通过迭代解释如何做到这一点吗?谢谢!
答案 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);