带有参数的类:
public class TestingLong{
public static String longTest(String s){
String[] longW = s.split(" ");
String t=" ";
for(int i=0; i<longW.length; i++){
if(longW[i].length()>=t.length()){
t=longW[i];
}
}
return t;
}
}
主类:
public class Main
{
public static void main(String[] args){
System.out.println(TestingLong.longTest("Dogs are just amazing things"));
System.out.println(TestingLong.longTest("Many cats hate dogs who live to bark"));
}
}
我正在编写一个返回最长单词的代码,但是这样做的确让我感到困惑,为什么在第二个包含许多4个字母单词的语句(“许多猫讨厌活着叫”的狗)中,返回最后一个单词“ bark”,而不返回第一个单词“ many”。我如何能够返回第一个单词?
输出:
Amazing
Bark
答案 0 :(得分:1)
我很困惑,为什么在第二个语句中包含许多4个字母的单词(“很多猫讨厌狗吠的人”),却返回最后一个单词“ bark”而不是第一个单词“ many”
因为在if
语句中,您指定长度是否大于或等于 t
将被longW[i]
覆盖:
if(longW[i].length()>=t.length()){
t=longW[i];
}
要解决此问题,请执行以下操作:
if(longW[i].length()>t.length()){
t=longW[i];
}