繁体   English   中英

计算字符串的小写字母

[英]Counting a String's Lowercase Letters

我正在寻找论坛,并找到一个有用的代码,如何计算输入字符串中的小写字母。 事情是,在测试之后,我看到它只计算输入的第一个单词中的小写字母。 所以,例如,如果我输入: HeRE ,计数器会说我输入了1个小写字母(这是正确的),但如果我输入: HeRE我是计数器仍然只会说1而不是4。它只是计算第一个单词中的小写字母。 如何让它在整个字符串中计算小写字母?

代码到目前为止:

 import java.util.Scanner;
 public class countingLowerCaseStrings {
 public static void main(String args[]){
 Scanner scanner = new Scanner(System.in);

 System.out.println("Enter your string: ");
 String input = scanner.next();

 int LowerCaseLetterCounter = 0;
   for (char ch : input.toCharArray()) {
     if (Character.isLowerCase(ch)) {
     LowerCaseLetterCounter++;
  }
}

   System.out.println ("Number of lower case letters in this string is: " +
   LowerCaseLetterCounter);

   }

  }

非常感谢帮助!

scanner.next(); 读取第一个可用单词 ,而不是整行。

因此,如果您输入“HeRE i am”,它将只读“HeRE”。

将其更改为scanner.nextLine()

System.out.println("Enter your string: ");
String input = scanner.nextLine();

演示 - 看看stdinstdout面板。

令人感兴趣的是,Java 8提供了一种相当简化的方法来实现同样的目的:

scanner.nextLine().chars().filter(Character::isLowerCase).count()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM