【发布时间】:2014-06-17 13:03:59
【问题描述】:
以下程序仅适用于 1 个单词或一个数字。如果我的输入超过 1 个单词,那么在“空格”之后,输出会忽略输入的其余部分。所以,我希望 for 循环中的 print 语句将整个输入打印为 String 类型,包括空格。有什么建议吗?
import java.util.*;
class characters {
public static void main(String[] args) {
int upperC = 0;
int lowerC = 0;
//char ch;
Scanner input = new Scanner(System.in);
System.out.print("Enter input: ");
String svar = input.next();
String[] ary = svar.split("");
for (int i=0; i< ary.length; i++) {
System.out.print(ary[i]);
}
}
}
【问题讨论】:
-
首先,您可能希望
split使用空格" "而不是空字符串""。然后,当你打印时,你想添加一个空格,所以System.out.println(ary[i] + " "); -
那不行,我也这样做了。
-
他的问题是
input.next();它只读取输入直到第一个 whitspace -
改为
input.nextLine(),它会起作用。 -
@user3144097 您应该选择最佳答案,而不是更改标题。即使最好的答案是你自己的。
标签: java string for-loop input java.util.scanner