【发布时间】:2022-01-01 18:27:13
【问题描述】:
我想写一个找到最长字符串(单词)的方法。如果两个词的长度相同,则输出应该是最长的词,输出应该是:“多于一个最长的词”。
我使用了 ArrayList 并且几乎有了解决方案,但是出了点问题。情况是,当两个单词的长度相同时,我会遇到问题。 输出是: 超过一个最长的单词 超过一个最长的单词 14递增是最长的单词
请查看我的一段代码并帮助我找到答案:)
public class LongestWord {
public static void main(String[] args) {
ArrayList<String> wordsList = new ArrayList<String>();
wordsList.add("december");
wordsList.add("california");
wordsList.add("cat");
wordsList.add("implementation");
wordsList.add("incrementation");
int largestString = wordsList.get(0).length();
int index = 0;
for (int i = 0; i < wordsList.size(); i++) {
if (wordsList.get(i).length() > largestString) {
largestString = wordsList.get(i).length();
index = i;
}else if(wordsList.get(i).length() == largestString){
largestString = wordsList.get(i).length();
index = i;
System.out.println("More than one longest word");
}
}
System.out.println(largestString +" " + wordsList.get(index) +" is the longest word ");
}
}
【问题讨论】:
-
有什么问题?
-
当心:
String#length在大多数字符上都失败了。示例:System.out.println( "????".length() ) ;➔ 2
标签: java arrays string if-statement arraylist