必須答辯才能得分html
import java.util.*; public class MySort1 { public static void main(String [] args) { String [] toSort = {"aaa:10:1:1", "ccc:30:3:4", "bbb:50:4:5", "ddd:20:5:3", "eee:40:2:20"}; System.out.println("Before sort:"); for (String str: toSort) System.out.println(str); Arrays.sort(toSort); System.out.println("After sort:"); for( String str : toSort) System.out.println(str); } }
參數 | 功能說明 |
---|---|
-b | 忽略每行前面開始出的空格字符。 |
-c | 檢查文件是否已經按照順序排序。 |
-d | 排序時,處理英文字母、數字及空格字符外,忽略其餘的字符。 |
-f | 排序時,將小寫字母視爲大寫字母。 |
-i | 排序時,除了040至176之間的ASCII字符外,忽略其餘的字符。 |
-m | 將幾個排序好的文件進行合併。 |
-M | 將前面3個字母依照月份的縮寫進行排序。 |
-n | 依照數值的大小排序。 |
-o <輸出文件> | 將排序後的結果存入指定的文件。 |
-r | 以相反的順序來排序。 |
-t <分隔字符> | 指定排序時所用的欄位分隔字符。 |
sort -n -k 2 -t'-' date // -t<分隔字符> 指定排序時所用的欄位分隔字符。 -k 選擇以哪一個區間進行排序
將字符串數組tosort用「:」分隔,以第二列數值大小爲標準從小到大排列: 建立整型數組a,長度與tosort長度相同 調用split函數將tosort數組以:(冒號)爲分隔符分紅小字符串 將每個tosort元素的第二例列數值存入數組a中 調用Arrays類的sort函數對a進行排序 輸出排序後的結果
/** * @author 20175227 Xueying Zhang * @date 2019/5/19 11:44. */ import java.util.*; public class MySort { public static void main(String [] args) { String [] toSort = { "aaa:10:1:1", "ccc:30:3:4", "bbb:50:4:5", "ddd:20:5:3", "eee:40:2:20"}; System.out.println("Before sort:");//輸出排序前字符串數組 for (String str: toSort) System.out.println(str); int [] a=new int[toSort.length]; for(int i=0;i<toSort.length;i++){//對toSort每個元素用split進行劃分,並儲存進字符串數組list中 String [] list=toSort[i].split(":"); a[i]=Integer.parseInt(list[1]);//將list中第二個元素,即toSort中第二列元素存進a中 } Arrays.sort(a); System.out.println("After sort:"); for (int i = 0; i < a.length; i++)//對a中每一個元素 for (int j = 0; j < toSort.length; j++)//在toSort中每個元素的第二列中比較 if (a[i] == Integer.parseInt((toSort[j].split(":"))[1]))//若是兩者相等 System.out.println(toSort[j]);//就輸出該項元素 } public static int StringTest1(String str){ int a; String [] list=str.split(":"); a=Integer.parseInt(list[1]);//將list中第二個元素,即toSort中第二列元素存進a中 return a; } public static int[] StringTest2(String[] toSort){ int [] a=new int[toSort.length]; for(int i=0;i<toSort.length;i++){//對toSort每個元素用split進行劃分,並儲存進字符串數組list中 String [] list=toSort[i].split(":"); a[i]=Integer.parseInt(list[1]);//將list中第二個元素,即toSort中第二列元素存進a中 } Arrays.sort(a); return a; } }
import junit.framework.TestCase; import org.junit.Test; public class MySortTest extends TestCase { String [] toSort = { "aaa:10:1:1", "ccc:30:3:4", "bbb:50:4:5", "ddd:20:5:3", "eee:40:2:20"}; @Test public void testl() { assertEquals(10,MySort.StringTest1("aaa:10:1:1")); } public void test2() { assertEquals(20,MySort.StringTest2(toSort)[1]); } }
MySort.javajava