0

Thins是我到目前为止所拥有的。但我需要在不使用数组的情况下按字母顺序排列所有四个单词,而只使用带有 if 和 else 语句的字符串。

    import java.util.Scanner;

public class Dictionary
{
    public static void main (String[] args)
    {
        String word1, word2, word3, word4;
        Scanner scan = new Scanner (System.in);

        System.out.println ("Enter Four Words: ");
        word1 = scan.next();
        word2 = scan.next();
        word3 = scan.next();
        word4 = scan.next();

        int compare = word1.compareTo(word2);

        if (compare < 0)
        {System.out.println(word1 + " " + word2);}
    else if (compare > 0)
        {System.out.println(word2 + " " + word1);}           
    }
}
4

3 回答 3

0

如何使用 Java 为您提供的功能:

public static void main(String[] args) {
  final PriorityQueue<String> words = new PriorityQueue<String>();
  final Scanner scan = new Scanner(System.in);

  System.out.println("Enter Four Words: ");
  for (int i = 0; i < 4; ++i) {
    words.add(scan.next());
  }

  while(words.isEmpty() == false) {
    System.out.println(words.poll());
  }
}

不确定这是否能回答您的问题?

于 2013-10-05T18:48:37.173 回答
0

看起来你有一个合理的基础 - 你正在正确地比较字符串和一切。但是,为了使跟踪事情变得更容易,我会StringBuilder在开始比较之前制作一个 for 保存排序的字符串,并在append()对给定单词完成所有必要的比较之后使用它添加单词。

但是,请遵循您必须完成的内容 - 关键是如果您不能使用任何类型的集合,您只需将每个字符串与所有其他字符串进行比较。您可能希望在您拥有的内容中嵌套一些额外的 if/else。

于 2013-10-05T18:13:41.160 回答
0

您还可以使用字符串列表并对其进行排序:

List<String> listOfWords = new LinkedList<String>();
listOfWords.add(word1);
listOfWords.add(word2);
listOfWords.add(word3);
listOfWords.add(word4);

Collections.sort(listOfWords, new Comparator<String>() {
    public int compare(String o1, String o2) {
        return o1.compareTo(o2);
    }
});
于 2013-10-05T18:20:57.870 回答