ファイルからテキストを読み取り、それを特定の最大幅の行に並べ替えるコードを書いています。
例:「aaaa bbbb cccc dddd」を含むテキスト
指定幅は16
したがって、出力は
aaaa bbbb cccc //width is only 14, if dddd is added, it would be longer than 16.
dddd
私のアプローチ:テキストを読んで文字列に割り当てます
Scanner input_OUT = new Scanner(new File("abc"));
PrintStream output = new PrintStream("abc");
.
.
while (input_OUT.hasNextLine()) {
str = input_OUT.nextLine();
}
String s = "";
while(input_OUT.hasNext()) { // get words if it still have
if (s.length() + input_OUT.next().length() > width) {
s = str.substring(0,s.length());
output.println(s);
str = str.substring(s.length()+1,str.length());
s = "";
}
else {
s += input_OUT.next();
}
}
コンパイルしますが。しかし、ファイルには出力が表示されません。私のコードは正しくないと思います。stringbuild、string split、array のオプションがあることは知っています。しかし、私は今それをすることが許されています。