Java(输入的长度)
所以我想用java获取输入的长度,但是(String.length())并不能产生令人满意的结果。 因此,当我键入此代码时:Java(输入的长度),java,Java,所以我想用java获取输入的长度,但是(String.length())并不能产生令人满意的结果。 因此,当我键入此代码时: String c = "hi hello"; System.out.print(c.length()); 我得到了正确的8分 但当我键入此代码时: Scanner s = new Scanner(System.in); String c = s.next(); System.out.print(c.length());
String c = "hi hello";
System.out.print(c.length());
我得到了正确的8分
但当我键入此代码时:
Scanner s = new Scanner(System.in);
String c = s.next();
System.out.print(c.length());
因为“hi hello”是输入,我得到2而不是8。我再次尝试使用不同的输入,发现string.length()在输入中有空格问题。例如,如果输入为“12345678”,则输出为6而不是9。你能告诉我如何获得输入的完整长度吗?提前感谢将s.next()
替换为s.nextLine()
,您将获得所需的结果
查找并返回来自此扫描仪的下一个完整令牌。完整标记的前面和后面是与分隔符模式匹配的输入next()
返回当前行的其余部分,不包括末尾的任何行分隔符。该位置设置为下一行的开头nextLine()
使用nextLine()而不是next(),因为next()只能读取输入直到空格 nextLine()读取输入,包括字词之间的空格(即,它一直读取到行尾\n) java.util.Scanner.next()方法查找并返回下一个 从该扫描仪完成标记。一个完整的令牌在前面和后面 后跟与分隔符模式匹配的输入 这里的分隔符是“” 你得到2作为长度,因为它说“hi”的长度是2。如果你
想要完整字符串的长度use nextLine(),它最多可计数“\n”
next()
返回下一个标记,默认情况下,扫描器在空格上标记化。您需要nextLine()
。使用nextLine()
将返回所有内容,直到它到达\n
为什么我被否决?告诉我,我会改进我的答案:)
-> "123456 78"
s.next().length() -> "123456".length() -> 6
s.nextLine().length() -> "123456 78".length() -> 9
Scanner s = new Scanner(System.in);
String c = s.nextLine();
System.out.print(c.length());