如何在按字母顺序排序的不同行上打印输入中的每个不同单词? - Java
How can I print every different word from an input on a different line sorted in an alphabetical order? - Java
我的目标是使用 BufferedReader 阅读文本。我试过这样的事情:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Set;
import java.util.TreeSet;
import java.io.*;
public class Main {
public static void main(String[] args)throws IOException {
String line;
String[] word = new String[1000];
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] words = new String[1000];
while ((line = br.readLine()) != null) {
word = line.split("\s+");
}
Set<String> s = new TreeSet<String>();
for (int i = 0 ; i < words.length ; ++i) {
s.add(words[i]);
}
for (String value : s)
System.out.println(value);
}
}
例如:
输入:
- 感谢您的帮助
- 帮助
输出:
- 为
- 帮助
- 谢谢
您没有在阅读代码行后更新单词。
试试这个:
String line;
String[] word = new String[1000];
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Set<String> s = new TreeSet<String>();
while ((line = br.readLine()) != null) {
word = line.split("\s+");
for (int i = 0 ; i < word.length ; ++i) {
s.add(word[i]);
}
}
for (String value : s)
System.out.println(value);
我的目标是使用 BufferedReader 阅读文本。我试过这样的事情:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Set;
import java.util.TreeSet;
import java.io.*;
public class Main {
public static void main(String[] args)throws IOException {
String line;
String[] word = new String[1000];
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] words = new String[1000];
while ((line = br.readLine()) != null) {
word = line.split("\s+");
}
Set<String> s = new TreeSet<String>();
for (int i = 0 ; i < words.length ; ++i) {
s.add(words[i]);
}
for (String value : s)
System.out.println(value);
}
}
例如: 输入:
- 感谢您的帮助
- 帮助
输出:
- 为
- 帮助
- 谢谢
您没有在阅读代码行后更新单词。
试试这个:
String line;
String[] word = new String[1000];
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Set<String> s = new TreeSet<String>();
while ((line = br.readLine()) != null) {
word = line.split("\s+");
for (int i = 0 ; i < word.length ; ++i) {
s.add(word[i]);
}
}
for (String value : s)
System.out.println(value);