1

我在使用下面的代码时遇到问题。它基本上要求用户输入一个句子。

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真的很陌生,所以我想知道我应该怎么做才能让程序计算整个字符串。

4

2 回答 2

5

您应该使用nextLine()方法而不是next()

inputString = keyboard.nextLine();  

Scanner#next()方法读取下一个令牌。标记被认为是由分隔符分隔的。并且 的默认分隔符Scanner由 . 识别Character.isWhitespace

于 2013-09-14T17:51:27.077 回答
2

keyboard.nextLine()将拉入整条线。next()只得到下一个词。next()默认情况下使用空格来确定字长,但如果您希望它拉入不同的标记,您也可以设置自定义分隔符。

于 2013-09-14T17:51:39.473 回答