计算字符串的小写字母
Counting a String's Lowercase Letters
我浏览了论坛,发现了一个有用的代码,介绍了如何计算输入字符串中的小写字母。事情是,在测试之后,我发现它只计算输入的第一个单词中的小写字母。因此,例如,如果我输入:HeRE,计数器会说我输入了 1 个小写字母(这是正确的),但如果我输入:HeRE i am 计数器仍然只会说 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();
DEMO - 查看 stdin
和 stdout
面板。
有趣的是,Java 8 提供了一种相当简化的方法来实现相同的目的:
scanner.nextLine().chars().filter(Character::isLowerCase).count()
我浏览了论坛,发现了一个有用的代码,介绍了如何计算输入字符串中的小写字母。事情是,在测试之后,我发现它只计算输入的第一个单词中的小写字母。因此,例如,如果我输入:HeRE,计数器会说我输入了 1 个小写字母(这是正确的),但如果我输入:HeRE i am 计数器仍然只会说 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();
DEMO - 查看 stdin
和 stdout
面板。
有趣的是,Java 8 提供了一种相当简化的方法来实现相同的目的:
scanner.nextLine().chars().filter(Character::isLowerCase).count()