Java(输入的长度)

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());

所以我想用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());
因为“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());