[英]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();
演示 - 看看stdin
和stdout
面板。
令人感興趣的是,Java 8提供了一種相當簡化的方法來實現同樣的目的:
scanner.nextLine().chars().filter(Character::isLowerCase).count()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.