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