我试图编写一个代码来接收一组单词,并返回字符长度中最小的单词。很简单,出于某种原因,当那里有一个较短的单词(例如“不”)时,它会返回“再见”。
public class function2 {
public static void main(String [] args) {
String [] SA = {"hello", "goodbye", "jack", "bye", "yes", "no", "yoo"};
smallest(SA);
System.out.println("The shortest word is " + smallest(SA));
}
public static String smallest(String SA[]) {
String first = SA[0];
for (int i = 1 ; i < SA.length ; i++) {
if ((SA[i].compareTo(first)) < 0) {
first = SA[i];
} // if
} // for
return first;
}// smallest
}// lab1b
最佳答案
compareTo
不比较字符串的长度,而是比较它们的字母顺序。
您应该将条件更改为 if (SA[i].length()<first.length())
。
关于java - 在字符串数组中找到最短的单词java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25829866/