我有一个充满单词的文本文件,我需要按字母顺序排列。我应该采取什么步骤来做到这一点。我知道我需要使用一个数组,然后将它们按顺序打印并打印出来,但我不确定具体的细节。另外我不知道如何读取每个单独的字符串,因为我只知道.nextLine,它将所有字符串排成一行。
已经有一段时间没有取得太大进展,任何帮助都会受到高度赞赏。
答案 0 :(得分:1)
您需要创建一个“全局”列表(不是数组,因为您不知道长度)来保存单词然后读取每一行。将每一行拆分为一个单词数组,然后将它们添加到此全局列表中。然后对此列表进行排序。
以下是此基本实现的示例:
Scanner scanner = new Scanner(file);
ArrayList<String> allWords = new ArrayList();
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
String[] words = line.split(" ");
List<String> wordList = Arrays.asList(words)
allWords.addAll(wordList);
}
scanner.close();
Collections.sort(allWords);
请注意,我是徒手写的,所以可能存在语法甚至逻辑错误。希望它能为您提供前进的基本道路。另外,我没有处理异常。
希望这会有所帮助。请提出更多问题,祝你的Java学习好运!