簡體   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