我应该如何使用Java中的compareTo对短语进行排序

时间:2014-10-19 16:29:18

标签: java sorting compareto stringtokenizer

你好我需要制作一个程序来分割一个短语,而不是按字母顺序对它进行排序。我的老师建议我们使用StringTokenizer进行拆分,使用comapreTo进行排序。

到目前为止,我已将它分开,现在我正在努力进行排序。

public static void main(String[] args)  {
StringTokenizer st = new StringTokenizer("Afara este soare si frumos");
        while (st.hasMoreTokens()) {
            System.out.println(st.nextToken());
        }

结果:“1Afara 2este 3soare 4si 5frumos”

分类部分应该是:“1Afara 2este 3frumos 4si 5soara”

任何建议都应该是好的!提前谢谢!

3 个答案:

答案 0 :(得分:0)

最简单的方法是将字符串存储在List中,并使用Java标准库中的Collections.sort方法。

答案 1 :(得分:0)

试试这个:

  String mystring = "Afara este soare si frumos";
  String[] sortedArray = mystring.split("\\s");
  Arrays.sort(sortedArray);
  System.out.println(Arrays.toString(sortedArray));

答案 2 :(得分:0)

compareTo是String类中的一个方法,它可用于将一个字符串与另一个字符串按字典顺序进行比较,并返回一个int,可以确定排序机制参见http://docs.oracle.com/javase/7/docs/api/java/util/StringTokenizer.html

如果您的老师对您使用内部API没有问题,那么如其他答案中所述,您可以使用java.util.Arrays #sort来排序数组(如果您有数组)或者您可以使用java.util .Collections

如果没有,则可以使用compareTo的任何排序算法对数组进行排序。