-6

私のTXTファイルにはこれらが含まれています:

Škoda Fábia
farba: Červená
05050

Škoda Fábia
farba: Metalíza
53498

Škoda Fábia
farba: Metalíza
46538

Škoda Fábia
farba: Červená
21849

Škoda Fábia
farba: Biela
10219

これらの 3 つの情報が分離されないように、番号で並べ替えるにはどうすればよいでしょうか。

4

1 に答える 1

0

この質問が反対票を投じられた理由は次のとおりです。

  1. 努力が見られない。試したことと知っていることを教えてください。
  2. 私たちはコードが大好きです。コードを見せてください。動作していないものでさえ。
  3. この問題についてしばらく考えていると、答えのない疑問が浮かび上がり始めます。例えば:
    • 数字はすべて6桁ですか?
    • そうでない場合、05050より少ないか多い5051か?

そうは言っても、ここにあなたの答えがあります:

  1. 車をある種の構造に読み込みます。クラスは完璧です (この種のソートだけが有用な場合Carは、独自のメソッドを持つことができます) 。compareTo()または、String[]車ごとに を使用するだけで、最終的に車の配列になります ( String[][])。
  2. Comparableの場合はこのように並べ替えるか、カスタムComparatorを使用してこのように並べ替えます。

例(可能であればSkodaCar、その代わりにクラスを使用してください):String[]

// every car is a String[3]
String[][] cars = loadCars();
Comparator<String[]> skodaCarComparator = new Comparator<String[]>() {
    @Override
    public int compare(String[] o1, String[] o2) {
        // compares the numbers as Strings using String's compareTo()
        return o1[2].compareTo(o2[2]);
    }
}; 
Arrays.sort(cars, skodaCarComparator);
于 2012-06-14T01:45:58.130 に答える