參考 Sort的實現。提交博客連接。html
必須答辯才能得分java
輸出排序前的數組; 命令行輸入參數; 判斷參數是否符合要求; 對排序好的數組遍歷並輸出第二列元素相同的toSort數組。
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]); } }