したがって、2 つの文字列 (line と objectCode) があります。
最初に行を印刷し、次に行の長さに基づいていくつかのスペースを印刷してから、objectCode を印刷します。(すべての objectCode が整列するように。
試してみましたが、次のような出力が得られました。
0000 FIRST ST RETADR,LX 172028
0003 LD BX,#LENGTH 692028
0006 CLOOP +JSUB RDREC 03100000
objectCode は各行の最後の数字 (172028) です。ご覧のとおり、私が望むように並んでいません。
したがって、本質的には次のようなものが必要です。
0000 FIRST ST RETADR,LX 172028
0003 LD BX,#LENGTH 692028
0006 CLOOP +JSUB RDREC 03100000
どうやって手に入れるのかさっぱり分からない。ありがとうございました。
編集
私が試したこと:
最初に試してください(これは機能するはずです):
String write = String.format("%-45s%s", line, objectCode);
fw.write(write + "\n"); //Using a FileWriter
2番目に試したのは(最後の努力として):
fw.write(line);
int numOfSpaces = 40 - line.length(); //arbitrary number to check if this works
for (int spaces = 0; spaces < numOfSpaces; spaces++) {
fw.write(" ");
}
fw.write(objectCode);
行の長さが長いほど、印刷されるスペースが少なくなると考えました..しかし、うまくいかなかったようです。
編集
私は問題を理解しましたが、それを解決する方法がわかりません。
問題は、プログラムの早い段階で、各行の変数を削除 (前後の空白を削除) して、行内の各単語を単独で取得できるようにしたことです。
だから、私は持っていました:
line = input.nextLine();
words[] = line.trim().split("\\s+"); //Splitting by white space
ここでのトリム()メソッドは私の問題だと思います...しかし、プログラムが意図していることを実行するために必要です。