从键盘录入一段英文文本(句子之间的标点符号只包括“,”或“.”,单词之间、单词与标点之间都以" "分割。 要求:按照每个单词的长度由高到低输出各个单词(重复单词只输出一次),如果单词长度相同,则按照单词的首字母顺序(不区分大小写,首字母相同的比较第二个字母,以此类推)升序输出。
输入格式:
一段英文文本。
输出格式:
按照题目要求输出的各个单词(每个单词一行)。
输入样例:
Hello, I am a student from China.
输出样例:
student
China
Hello
from
am
a
改了好几次才正确的代码
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
String s=in.nextLine();
String[] ss=s.split("\\,|\\ |\\.");//以“,”、“.”还有空格分割
TreeSet<String> m=new TreeSet<String>(new MyComparator());
for(int i=0;i<ss.length;i++)
{
if(ss[i]!=null&&ss[i].length()!=0)//删除字符串数组内的空格
{
m.ad