我遇到以下代码问题。它要求用户基本输入一个句子。
System.out.println("Enter a string containing spaces: ");
inputString = keyboard.next();
int lengthString = inputString.length();
System.out.println("You entered: " + inputString + "\n" + "The string length is: " + lengthString);
问题是当它打印语句时,它只打印第一个单词,然后计算第一个单词中包含的字符。我是Java的新手,所以我想知道如何让程序计算整个字符串。
答案 0 :(得分:5)
您应该使用nextLine()
方法而不是next()
:
inputString = keyboard.nextLine();
Scanner#next()
方法读取下一个标记。令牌被认为是由分隔符分隔的。 Scanner
的默认分隔符由Character.isWhitespace
识别。
答案 1 :(得分:2)
keyboard.nextLine()
将拉入整行。 next()
只能获得下一个字。 next()
默认情况下使用空格来确定单词大小,但如果您希望自定义分隔符可以引入不同的标记,也可以设置自定义分隔符。