1

次のような配列をString昇順で並べ替える必要があります。

String str[] = {"ASE", "LSM", "BSE", "LKCSE", "DFM"};

どうやってするか?私は助けが必要です。

4

3 に答える 3

5

この回答は、SignareHeartBeatの提案に基づいています。詳細については、このリンクを参照してください。また、このリンク、java.util.Arrayを使用した並べ替えが役立つ場合があります。

// Initialization of String array 
String strs[] = {"One", "Two", "Threee", "Four", "Five", "Six", "Seven"};

// implementation of Comparator
Comparator strComparator = new Comparator() {
    public int compare(Object o1, Object o2) {
        return o1.toString().compareTo(o2.toString());
    }
};

// Sort
Arrays.sort(strs, strComparator);
于 2012-05-29T17:45:19.167 に答える
0

これを試して -

import java.util.*;
import java.io.*;

public class TestSort1 {

String [] words = { "Réal", "Real", "Raoul", "Rico" };

 public static void main(String args[]) throws Exception {
    try {
  Writer w = getWriter();
  w.write("Before :\n");

  for (String s : words) {
    w.write(s + " ");
  }

  java.util.Arrays.sort(words);

  w.write("\nAfter :\n");
  for (String s : words) {
    w.write(s + " ");
  }
  w.flush();
  w.close();
}
catch(Exception e){
  e.printStackTrace();
}

 }

// useful to output accentued characters to the console
  public static Writer getWriter() throws UnsupportedEncodingException {
    if (System.console() == null) {
      Writer w =
        new BufferedWriter
         (new OutputStreamWriter(System.out, "Cp850"));
      return w;
    }
    else {
      return System.console().writer();
    }
  }
}
于 2012-05-29T12:32:52.580 に答える
0

これが私の解決策です:-

String str[]={"ASE","LSM","BSE","LKCSE","DFM"};

for(int j = 0; j < str.length; j++){
               for(int i = j + 1; i < str.length; i++) {
                   if(str[i].compareTo(str[j]) < 0) {
                       String t = str[j];
                       str[j] = str[i];
                       str[i] = t;
                   }
               }

    }
于 2012-05-30T09:32:22.367 に答える