是他們的另一種方式來那種單獨的用戶輸入的不是「Collections.Sort(名單)方法等輸出框?按字母順序排序沒有排序的方法
import java.util.*;
public class UserInput
{
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
Scanner stdin = new Scanner(System.in);
do {
System.out.println("Enter a name: ");
String strin = stdin.next();
if (isNumeric(strin)) {
System.out.println("Please add a non numeric value");
} else {
list.add(strin);
}
Collections.sort(list);
System.out.println("Current list is " + list);
System.out.println("Add more? (y/n)");
} while (stdin.next().startsWith("y"));
System.out.println("List is " + list);
String[] arr = list.toArray(new String[0]);
System.out.println("Array is " + Arrays.toString(arr));
}
public static boolean isNumeric(String str) {
return str.matches("-?\\d+(\\.\\d+)?");
}
}
你可以手動實現任意數量的字符串排序算法 - 但爲什麼你不想使用默認的庫實現?如果您不想浪費地重新整理每個條目的整個集合,請使用按插入順序排序的集合,例如TreeSet - > http://docs.oracle.com/javase/6/docs/api/ java/util/TreeSet.html – 2013-04-04 20:27:56
沒有什麼能阻止你實現你想要的任何排序算法。傳統的氣泡排序是首先想到的... – jahroy 2013-04-04 20:29:00
爲什麼重新發明輪子?使用Collections.sort與你自己的比較器,如果你想做一個自定義排序 – Bizmarck 2013-04-04 20:29:29