1

非常に長いテキストを揃える方法はありますか?

このコードの例:

System.out.println("\tHi this is a very long string to test the automated newline but I want to have the newline to be tab indented too.");

以下の代わりに

    Hi this is a very long string to test the automated newline but I want to 
have the newline to be tab indented too.

これ欲しい

    Hi this is a very long string to test the automated newline but I want to 
    have the newline to be tab indented too.

だから、改行を最初の文に揃えてほしい。そこにライブラリが存在するか、デフォルトの String Java メソッドはありますか?

4

5 に答える 5

1

print ステートメントで ( "\t" + "Hi, this is newline") を使用します

于 2013-09-11T03:38:57.883 に答える
1

要するに、いいえ。コンソールの幅は実行ごとに異なる可能性があり、Java はその情報を利用できないだけです。ただし、最小値は 80 文字であると想定して、80 文字で手動で折り返すことができます。この質問を参照してください。

于 2013-09-11T03:54:42.080 に答える
1

これを行うための組み込みメソッドがJDKにあるとは思いません。

私が知っている最善の解決策は、 Apache Commons LangWordUtils.wrap(String str, int wrapLength, String newLineStr, boolean wrapLongWords)の一部であるを使用することです。

このメソッドを使用すると、改行文字だけでなく、折り返す列の数を指定できます。\n\tあなたが求めたように、行を折り返してから次の行をタブインデントする必要がある改行として使用できます。

例:

import org.apache.commons.lang3.text.WordUtils;

public class Demo
{
    public static void main(String[] args)
    {
        String longString = "\tThe quick brown fox jumps over the fence";
        System.out.println(WordUtils.wrap(longString, 10, "\n\t", false));
    }

} 

- 編集 -

Commons Lang ライブラリは、大きすぎて Android アプリケーションに含めることができない場合があります。ただし、 のソース コードWordUtils.wrap(...)はすぐに入手できるので、いつでも独自の簡易バージョンの を作成できますWordUtils

于 2013-09-11T04:12:32.037 に答える
1

使用しているコードを見せていただけますか? 整列とタブの両方が必要な場合は、おそらく両方の行に \t が必要です。

于 2013-09-11T03:40:11.207 に答える