📄 wordsorterbylength.java
字号:
import java.io.IOException;
import java.io.CharArrayWriter;
import java.util.StringTokenizer;
public class WordSorterByLength extends Filter
{
public WordSorterByLength(Pipe input, Pipe output)
{
super(input, output);
}
protected void transform()
{
try
{
CharArrayWriter writer = new CharArrayWriter();
int c = input_.read();
while(c != -1)
{
writer.write(c);
c=input_.read();
}
String text = writer.toString();
StringTokenizer tokenizer = new StringTokenizer(text);
String[] words = new String[tokenizer.countTokens()];
int i = 0;
while(tokenizer.hasMoreTokens()) //将text拆开成单个的词
words[i++] = tokenizer.nextToken();
String after[]=sort(words);
String s=new String();
for(int n = 0; n < words.length; n++)
{
s+=words[n]+" ";
}
char[] chars = s.toCharArray();
for(int j=0; j<chars.length; j++)
output_.write(chars[j]);
output_.closeWriter();
}
catch(IOException exc)
{
exc.printStackTrace();
System.err.println("KWIC Error: Could not make circular shifts.");
System.exit(1);
}
}
public String[] sort(String [] words) //sort words
{
String temp;
for(int i=0;i<words.length;i++)
{
for(int j=words.length-1;j>=i;j--)
{
if((words[j].length()<words[i].length())||((words[j].length()==words[i].length())&&words[j].compareToIgnoreCase(words[i])<0))
{
temp=words[j];
words[j]=words[i];
words[i]=temp;
}
}
}
return words;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -