将一串文本打印成多行? Java的

时间:2013-02-19 08:09:32

标签: java

我正在使用scanner实用程序来读取键盘输入的句子。我想知道如何将这个字符串文本转换成多行..

例如,如果我要输入

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

我如何才能将此打印件打印到多行?

How
are
you

doing?

已解决使用System.out.println(str.replace(“”,“\ n”))

谢谢大家。

3 个答案:

答案 0 :(得分:0)

首先使用扫描仪进行输入。 然后使用input.split(“”)拆分输入的行并将其存储到String数组中。 最后使用循环或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);
    }
}

试试这个:如果给定的字符串中有两个以上的空格,它将只打印一个空格。

请尝试仅使用System.out.println();

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

答案 1 :(得分: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;
            }

        }

    }

答案 2 :(得分:0)

我会这样做:

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

编辑:

计算非空白字符的数量:

int chars = str.replace(" ", "").length();