我試圖按字典順序或按字母順序打印數組中的第二大元素。流行音樂的確是第二大的。然而;我的代碼沒有按照我想到的方式設計,當我測試另一組數組時,顯然我只打印最後一個元素。任何關於我出錯的建議?按字典順序獲取第二大元素
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);
}
}
我編輯了代碼的空白以方便閱讀。 – Patashu
你爲什麼要改變列表本身? –
更改列表?你的意思是我爲什麼要添加到列表中? – qvd