、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数使用string包
时间: 2024-09-13 15:16:59 浏览: 31
当你想要统计字符串中各个字符类型的数量时,可以使用Java的`String`和一些内置的集合以及流处理。以下是一个简单的示例,该程序会计算输入字符串中英文字母、空格、数字和其他字符的数量:
```java
import java.util.*;
public class CharacterCount {
public static void main(String[] args) {
String input = "Hello World! 123 This is a test string.";
int alphaCount = countCharacters(input, Character.isLetter);
int spaceCount = countCharacters(input, c -> c == ' ');
int digitCount = countCharacters(input, Character.isDigit);
int otherCount = countCharacters(input, c -> !Character.isLetterOrDigit(c));
System.out.println("字母数量: " + alphaCount);
System.out.println("空格数量: " + spaceCount);
System.out.println("数字数量: " + digitCount);
System.out.println("其他字符数量: " + otherCount);
}
private static int countCharacters(String str, Predicate<Character> predicate) {
return str.chars().filter(predicate).count();
}
}
```
在这个例子中,我们定义了三个辅助函数`countCharacters`,它接受一个`Predicate<Character>`作为参数,这个参数是用来判断字符是否满足某种条件(如字母、数字等)。然后,我们对输入字符串的每个字符应用这个条件,并使用`chars()`方法转换为字符流,再过滤并计数。