这是我迄今为止所拥有的。但是我需要在不使用数组的情况下按字母顺序排列所有四个单词,并且只使用带有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);}
}
}
答案 0 :(得分:0)
看起来你有一个合理的基础 - 你正在比较正确的字符串和一切。不过,为了让跟踪变得更容易,我会在开始比较之前使用StringBuilder
来保存已排序的字符串,并在完成所有必要的比较之后使用append()
为其添加单词。给定的话。
按照你要完成的事情 - 关键是如果你不能使用任何类型的集合,你只需要将每个字符串与所有其他字符串进行比较。您可能希望将一些额外的if / elses嵌套在您拥有的内容中。
答案 1 :(得分: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);
}
});
答案 2 :(得分: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());
}
}
不确定这是否能回答你的问题?