2011-12-30 19 views
2

ここにいる人は私の質問です。 JComboboxを使用している レッスンでCBグレードを持っている場合は、最初にjcomboboxに表示する必要があります。CB AA BA BB CC DC DD FD FF DDグレードの学生はDD AA BA BB CB CC DC FD FF。配列を並べ替える最初の変数で変数を降順に並べ替え

ここですべてのアレイメンバー

のString []サブセット=新しいString [] { "AA"、 "BA"、 "BB"、 "CB"、 "CC"、 "DC"、 "DD"、 "FD"、 "FF"};

レッスン・アレイでBBグレードを取得する場合は、BB AA BA CB CC DC DD FD FDのようにソートする必要があります。これらの平均配列は、配列の最初の要素で学生グレードでソートする必要があります。降順でソートする必要があります。

私はjcomboboxがそれに取り組んでいるので、arrrayをソートするように頼んだ。 そこにはそのような機能や方法がありますか?

ありがとうございました。

+0

並べ替えの基準は明確ではありません。あなたが必要とするものをより良く説明して、いくつかの例を示してください。 –

答えて

1

方法:

public static String[] getCustomSortArray(String grade, String[] grades) 
{ 
    int index = -1; 
    for(int i = 0; i < grades.length; i++) 
    { 
     if(grades[i].equals(grade)) 
     { 
      index = i; 
      break; 
     } 
    } 

    if(index == -1) return grades; 

    String temp = new String[grades.length]; 
    temp[0] = grades[index]; 

    int counter = 1; 
    for(int i = 0; i < grades.length; i++) 
    { 
     if(i != index) temp[counter++] = grades[i]; 
    } 
    return temp; 
} 

私はそれをテストしていないが、私はそれがうまくいくと思います。

+0

あなたのメソッドをテストしようとしていますが、eclipseはnullポインタ例外を与えています。 – Beyaz

+0

ありがとう私はついにそれをあなたがクールな男workinkを得る:D:私はあなたに投票するために十分な繰り返しはありませんでした。私は15人の担当者がいるときはいつもあなたに感謝します。 – Beyaz

+0

@ user1091692あなたは大歓迎です。 –

0

Comparatorに従って配列内の要素を並べ替える場合は、常にArrays.sort()を使用できます。この場合、必要に応じてコンパレータを作成する必要があります。

0

あなたが使用できる配列をソートするために、ComparableインターフェイスのcompareTo()メソッドをソートに使用します。

Arrays.sort(array); 

降順ソートの場合は、Collections.reverseOrder()コンパレータを使用できます。

私があなたを正しく理解すれば、このコンパレータはあなたのために働くことができます。これについて

 Object yourComparator = new Comparator<Comparable<Object>>() { 
      @Override 
      public int compare(Comparable<Object> c1, Comparable<Object> c2) { 
       if(c1.equals(variable)){ 
        return 1; 
       } 
       else if(c2.equals(variable)){ 
        return -1; 
       } 
       else { 
        return c2.compareTo(c1); 
       } 

      } 



     }; 
+0

私は最初に変数で並べ替え、次に順序を並べ替えたいと思います。 – Beyaz

+0

「変数」と言ってどういう意味ですか?どのような変数ですか? –

+0

CBがここで最初に変わる:生徒がレッスンでCBグレードを持っている場合、最初にjcomboboxに表示する必要があります。CB AA BA BB CC DC DD FD DD AA BA BB CB CC DC FD FFのように表示されます。 – Beyaz

関連する問題