java按字典顺序输出全部不相同的单词
时间: 2024-03-09 11:47:01 浏览: 35
以下是一个简单的 Java 代码,可以实现按字典顺序输出全部不相同的单词:
```
import java.util.*;
public class UniqueWords {
public static void main(String[] args) {
String text = "This is a test sentence. It contains some repeated words, but also some unique ones.";
String[] words = text.toLowerCase().split("[^a-zA-Z]+");
Set<String> uniqueWords = new TreeSet<String>(Arrays.asList(words));
for (String word : uniqueWords) {
System.out.println(word);
}
}
}
```
这个程序将输入的文本转换为小写字母,并使用正则表达式 `[^a-zA-Z]+` 将文本拆分成单词数组。然后,使用 `TreeSet` 来从单词数组中创建一个仅包含不同单词的集合,并按字典顺序排序。最后,遍历集合并按顺序打印每个单词。
相关问题
java 对读入的某个文本文件input.txt中,拆出英文单词,输出一个按字典顺序排列的单
要解决这个问题,可以使用Java的文件处理和字符串处理功能。
首先,需要通过Java的文件输入流读取文本文件input.txt中的内容。可以使用BufferedReader类来实现该功能。然后,逐行读取文件内容,将每行内容存储在一个字符串变量中。
接下来,需要将每行内容拆解为单词。可以使用Java的字符串分割方法split(),通过指定空格作为分隔符,将每行内容拆分为一个单词数组。
然后,创建一个集合(例如ArrayList)来存储所有的单词。遍历每个单词,使用add()方法将其添加到集合中。
最后,对集合进行排序。可以使用Collections类的sort()方法对集合进行排序,按照默认的字母顺序对单词进行排序。
最后,遍历排序后的集合,将单词逐个输出,得到按字典顺序排列的单词列表。
以下是一个简单的Java代码示例:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SortWords {
public static void main(String[] args) {
String filePath = "input.txt";
List<String> words = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = reader.readLine()) != null) {
String[] splittedWords = line.split(" ");
for (String word : splittedWords) {
words.add(word);
}
}
} catch (IOException e) {
e.printStackTrace();
}
Collections.sort(words);
for (String word : words) {
System.out.println(word);
}
}
}
请注意,以上示例代码仅为演示目的,未做输入验证和异常处理等边界情况处理,请在实际使用中根据需要进行完善。
java: 从键盘上输入若干个英文单词,请按照字典顺序将这些单词输出。 输入格式: 在一行中输入不超过20个英文单词,用空格分开。 输出格式: 在一行中输出前面输入的英文单词,按照字典序顺序输出,用空格作为分割符。 输入样例: I am a student 输出样例: I a am student
好的,以下是Java的示例代码:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
String[] words = line.split(" ");
Arrays.sort(words);
System.out.println(String.join(" ", words));
}
}
```
这个程序会读入一行英文单词,使用`split`方法将其分割成单词数组,再对数组进行排序,最后使用`join`方法将排序后的单词用空格连接成一个字符串输出。