我正在使用scanner实用程序来读取键盘输入的句子。我想知道如何将这个字符串文本转换成多行..
例如,如果我要输入
"How are you doing?" (two spaces between you and doing)
我如何才能将此打印件打印到多行?
How
are
you
doing?
已解决使用System.out.println(str.replace(“”,“\ n”))
谢谢大家。
答案 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();