我正在尝试按字典顺序或字母顺序打印数组中的第二大元素。pop确实是第二大的。然而; 当我测试另一组数组时,我的代码不是我想的那样设计的,显然我只打印最后一个元素。关于我哪里出错的任何建议?
import java.util.ArrayList;
public class test {
public static void main(String[] args)
{
ArrayList<String> list = new ArrayList<String>();
list.add("bob");
list.add("mill");
list.add("sun");
list.add("opera");
list.add("bun");
list.add("pop");
System.out.println("list: " + list);
String s = list.get(0);
for ( int i = 0; i < list.size() - 1; i++) {
if (list.get(i).compareTo(list.get(i + 1)) > 0) {
s = list.get(i);
list.set(i, list.get(i + 1));
} else if (list.get(i).compareTo(list.get(i + 1)) < 0) {
s = list.get(i + 1);
}
}
System.out.println("second largest: " + s);
}
}