2010-11-27 11 views
0

私は1文字列配列と2 int配列のデータベースをソートする必要があります。これは私がこれまで持っているものです。並列配列をソートJava

public static void sortDatabase(int numRecords, String[] sDeptArr, 
       int[] iCourseNumArr, int[] iEnrollmentArr) 
    { 
     int length = sDeptArr.length; 
     for(int i=0; i<length-1; i++) 
     { 
      int iPosMin = i; 
      for(int j=i+1; j<length; j++) 
      { 
       if(sDeptArr[j].compareTo(sDeptArr[iPosMin]) == 0) 
        iPosMin = j; 
       else if(sDeptArr[j].equals(sDeptArr[iPosMin]) && iCourseNumArr[j] < iCourseNumArr[iPosMin]) 
        iPosMin = j; 
      } 
     } 
    } 

プログラム全体が行われていないが、それは正しい方向に向かっているように、これは見えないので、私はそれをテストするためには至っていませんか?データベースを名前順にアルファベット順にソートしたいのですが、名前が同じ場合は、コース番号を使ってソートしてください。

+1

何か理由は、あなたはそれを行うためにSQLを使用していないのですか? –

+0

私はjavaでやる必要があるので。 – Mike

答えて

2

あなたの方向は最適ではありません。

List<Data> 
Data[] 

Arrays.sort()またはCollections.sort()を使用します。私が知っている 最良の方法は、今、データの配列またはコレクションを作成するには、新しいデータ構造に

public class Data implements Comparable<Data> { 
    private String sDeptArr; 
    private int iCourseNumArr; 
    private int iEnrollmentArr; 

    public int compareTo(Data other) { 
    // your implementation 
    } 
} 

を作成することです。

+0

それほど簡単ではありません。私たちはjavaを使用して、教授が方法を使って、上で見たようなものを私の元の投稿に使ったと言ったようにしなければなりません。 – Mike