Java 如何获取用户输入的长度?

Java 如何获取用户输入的长度?,java,string,Java,String,我试图找到用户输入的任何字符串的长度。但是,由于某些原因,.length()方法只查找第一个单词的长度,然后停止 因此,我决定将所有空格替换为“u”,然后计算长度。出于某种原因,.length()方法仍然只查找第一个单词的长度。我知道我可能会将字符串的每个单词放入一个数组中,然后独立地找到它们的长度,但必须有一种更有效的方法来做到这一点 我看了很多其他的答案。userInput.replace(“\s”和“”);替换(“,”);根本不适合我;它产生与以前完全相同的结果。如何在不使用数组的情况下查

我试图找到用户输入的任何字符串的长度。但是,由于某些原因,.length()方法只查找第一个单词的长度,然后停止

因此,我决定将所有空格替换为“u”,然后计算长度。出于某种原因,.length()方法仍然只查找第一个单词的长度。我知道我可能会将字符串的每个单词放入一个数组中,然后独立地找到它们的长度,但必须有一种更有效的方法来做到这一点

我看了很多其他的答案。userInput.replace(“\s”和“”);替换(“,”);根本不适合我;它产生与以前完全相同的结果。如何在不使用数组的情况下查找字符串的长度

package com.skulr.challenge;
import com.skulr.challenge.Menu;


public class Challenge11 {

    static String userInput;
    static int count0;

    static int i = 0;

    public static void method1() {

        System.out.println("Input a message and we will\ncalculate it's length\n");
        System.out.print("- ");

        userInput = Menu.menuScanner.next();

        userInput = userInput.replace("\\s","_");
        System.out.println(userInput);
        count0 = userInput.length();


        System.out.println("Your string is: " + count0 + " characters long.");

    }

}
扫描器用于获取字符串的标记(由某个清除器分割字符串,默认为空格)以进行处理

如果用nextLine()更改next()方法,则它将返回整行,而不带标记

试试看

userInput=Menu.menuScanner.nextLine(); count0=userInput.length(); println(“您的字符串是:“+count0+”字符长。”)

Scanner sc=Menu.menuScanner.useDelimiter(“\n”); userInput=Menu.menuScanner.next(); count0=userInput.length();
println(“您的字符串是:“+count0+”字符长。”)

阅读扫描仪的javadoc。它有什么作用?令牌的定义是什么?它的next()方法做什么?然后阅读其nextLine()方法的javadoc。另外,学习使用调试器,或者至少打印变量的值。用户输入并不是你想象的那样。显然,String.length()的作用与文档中所说的相同。否则,这将是一个巨大的错误,并且它将被修复很长一段时间。当某些内容无法按预期工作时,代码中有99.9999999%的可能是错误,而不是标准库中的错误。我认为您只是在检索用户输入的第一个字,问题不在于长度,而在于检索用户输入的方式。请提供评论。每个人都是来学习的,不是来复制粘贴的。谢谢,多亏了你和以前的海报,我才知道我做错了什么。
public static void main (String[] args) throws java.lang.Exception
{
    Scanner inputStream = new Scanner(System.in);

    String userString = inputStream.nextLine();
    System.out.println(userString.length());
}