1

複数のネストされた呼び出しで収集された多くの情報をコンソールに出力しています。画面に情報を読みやすい方法で印刷できるようにしたいのですが、sの数をハードコーディングしないと、インデントを正しく取得できないようです\t

基本的に、前の行のインデント レベルに基づいてコードをインデントするにはどうすればよいですか。前の行がインデントされて\tいて、「\n\t」を実行した場合、その後、前の行に対して新しい行をインデントしたいと思います。つまり、私は次のようになると思っていました

String str = "original line (no indention)"
+ "\n"
+ "\t originally indented line"
+ "\n"
+ "\t the second indented line"

出力は

original line (no indention)
    originally indented line
    the second indented line

しかし、私はそれが欲しい

original line (no indention)
    originally indented line
         the second indented line

私の実際のコードでは、インデントの各レベルは別のファイルからの集計の結果であるため、2 行目に 2 回インデントすることを知るのは難しいことに注意してください。前の行のインデントに基づいて単純にインデントできるようにする必要があるため、インデントのレベルをハードコーディングする必要はありません。

4

2 に答える 2

1

最終的に、各反復中にすべての新しい行\nをに置き換えましたが、それでうまくいったようです。\n\t私が見落としていたのはとても単純な解決策でした。

于 2019-01-27T23:02:32.673 に答える