-4

スキャナ ユーティリティを使用して、キーボードから入力された文章を読み取っています。この文字列テキストを複数行に変換する方法を知りたい..

たとえば、私が入力した場合

"How are you  doing?" (two spaces between you and doing)

この印刷物を複数行にするにはどうすればよいですか?

How
are
you

doing?

System.out.println( str.replace (" ", "\n")) を使用して解決

皆さんありがとう。

4

3 に答える 3

0

以下のコードを試してください

public static void main(String[] args) {

        Scanner a = new Scanner(System.in);
        String lines = a.nextLine();
        boolean emptyLine = true;

        for (String line : lines.split(" ")) {
            if (!"".equals(line.trim())) {
                System.out.println(line);
                emptyLine = true;

            } else if (emptyLine) {
                System.out.println();
                emptyLine = false;
            }

        }

    }
于 2013-02-19T08:14:57.360 に答える
0

最初にスキャナを使用して入力します。次に、input.split(" ") を使用して入力行を分割し、文字列配列に格納します。最後に loop または Arrays.tostring() メソッドを使用して配列を出力します。

public static void main(String[] args) {
    String s ="How are you   doing?".replaceAll("  +","  ");
    String[] str = s.split(" ");
    System.out.println(str.length);
    for(String temp: str){
        System.out.println(temp);
    }
}

これを試してください: 指定された文字列に 2 つ以上のスペースがある場合、1 つのスペースのみを出力します。

だけ使ってみるSystem.out.println();

System.out.println(string.replaceAll("  +", "  ").replace(" ", "\n"));
于 2013-02-19T08:12:31.257 に答える
0

私はこれを行います:

System.out.println(str.replaceAll(" +", "\n"));

編集:

非空白文字の数を計算します。

int chars = str.replace(" ", "").length();
于 2013-02-19T08:15:49.900 に答える