如何在不同的行上按字母顺序打印输入的每个不同单词JAVA

如何在不同的行上按字母顺序打印输入的每个不同单词JAVA,java,string,oop,set,treeset,Java,String,Oop,Set,Treeset,我的目标是使用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 {

我的目标是使用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);
    }
}
导入java.io.BufferedReader;
导入java.io.InputStreamReader;
导入java.util.Set;
导入java.util.TreeSet;
导入java.io.*;
公共班机{
公共静态void main(字符串[]args)引发IOException{
弦线;
字符串[]字=新字符串[1000];
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
字符串[]字=新字符串[1000];
而((line=br.readLine())!=null){
word=line.split(\\s+);
}
Set s=新树集();
for(int i=0;i
例如: 输入:

  • 谢谢你的帮助
  • 帮助
  • 输出:

  • 为了
  • 帮助
  • 谢谢

  • 您并没有在读取代码中的行之后更新word

    试试这个:

    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);
    
    字符串行;
    字符串[]字=新字符串[1000];
    BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
    Set s=新树集();
    而((line=br.readLine())!=null){
    word=line.split(\\s+);
    for(int i=0;i
    读取代码中的行后,您并没有更新word

    试试这个:

    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);
    
    字符串行;
    字符串[]字=新字符串[1000];
    BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
    Set s=新树集();
    而((line=br.readLine())!=null){
    word=line.split(\\s+);
    for(int i=0;i