我正在使用扫描仪实用程序来读取从键盘输入的句子。我想知道如何能够将此字符串文本转换为多行..
例如,如果我要输入
"How are you doing?" (two spaces between you and doing)
我怎么能把这个打印成多行?
How
are
you
doing?
使用 System.out.println( str.replace (" ", "\n"))解决
谢谢大家。
我正在使用扫描仪实用程序来读取从键盘输入的句子。我想知道如何能够将此字符串文本转换为多行..
例如,如果我要输入
"How are you doing?" (two spaces between you and doing)
我怎么能把这个打印成多行?
How
are
you
doing?
使用 System.out.println( str.replace (" ", "\n"))解决
谢谢大家。
试试下面的代码
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;
}
}
}
我会这样做:
System.out.println(str.replaceAll(" +", "\n"));
计算非空白字符的数量:
int chars = str.replace(" ", "").length();
首先使用扫描仪进行输入。然后使用 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"));