【问题标题】:Problems with counting spaces - Java计算空格的问题 - Java
【发布时间】:2013-09-19 05:23:50
【问题描述】:

下面的代码有问题。它基本上要求用户输入一个句子。

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

【问题讨论】:

    标签: java spaces


    【解决方案1】:

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

    inputString = keyboard.nextLine();  
    

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 这当然是假设keyboardScanner 类的一个实例(OP 没有说)
      • 非常正确,但问题的性质使它成为一个安全的假设。
      • @gparyani 是的,它是 Scanner 类的一个实例。下次我有问题时一定会注意的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      • 1970-01-01
      • 2021-11-10
      • 2022-06-18
      • 1970-01-01
      • 2012-09-09
      • 2017-05-09
      相关资源
      最近更新 更多