0

ファイルからテキストを読み取り、それを特定の最大幅の行に並べ替えるコードを書いています。

例:「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 のオプションがあることは知っています。しかし、私は今それをすることが許されています。

4

1 に答える 1