Java内置排序方法Arrays.sort()的使用
package com.bycomma.test;
import java.util.Arrays;
import java.util.Scanner;
import java.util.StringTokenizer;
import junit.framework.TestCase;
/**
* BycommaTest.java
*
* 输入n个数字,以逗号,分开;然后可选择升或者降序排序
*
* 2011-05-19
*
* @author wst
*
*/
public class BycommaTest extends TestCase {
/**
* 将传入的字符串用逗号分割
*
* @param source
* 传入的字符串
* @return 分割后的字符串(没有排序)
*/
public static String[] splitStringByComma(String source) {
// 非空判断
if (source == null || source.trim().equals("")) {
return null;
}
// 将字符串用逗号分割
StringTokenizer commaToker = new StringTokenizer(source, ",");
// 获取字符个数(不包括分隔符)作为数组长度
String[] result = new String[commaToker.countTokens()];
int i = 0;
// 放入数组
while (commaToker.hasMoreTokens()) {
result[i] = commaToker.nextToken();
i++;
}
return result;
}
// 测试
public void testBycomma() {
Scanner input = new Scanner(System.in);
System.out.print("请输入要排序的整数,并以逗号分割:");
String[] s = splitStringByComma(input.next());// 调用分割方法,返回分割后的字符串数组
System.out.print("\n请选择排序方式(1.升序,2.降序):");
int order = input.nextInt();
switch (order) {
case 1:
System.out.println("您选择了升序:");
Arrays.sort(s);
for (int i = 0; i < s.length; i++) {
System.out.print(s[i] + " ");
}
break;
case 2:
System.out.println("您选择了降序:");
Arrays.sort(s);
for (int i = s.length - 1; i >= 0; i--) {
System.out.print(s[i] + " ");
}
break;
}
}
}