JAVA代码Sam得到一个字符串,他想知道这个字符串中有多少个英文字符,数字以及其他。请你帮他实现一下吧。输出按照英文数字,数字,其他的顺序,用空格隔开。使用正则表达式和split方法
时间: 2024-03-17 21:44:26 浏览: 70
好的,可以用以下 Java 代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
String[] result = str.split("");
int letterCount = 0;
int digitCount = 0;
int otherCount = 0;
for (String s : result) {
if (s.matches("[a-zA-Z]")) {
letterCount++;
} else if (s.matches("\\d")) {
digitCount++;
} else {
otherCount++;
}
}
System.out.printf("%d %d %d", letterCount, digitCount, otherCount);
}
}
```
该程序通过 `Scanner` 类获取用户输入的字符串,然后使用 `split()` 方法将字符串拆分成单个字符。对于每个单个字符,使用正则表达式 `[a-zA-Z]` 判断是否为英文字符,使用正则表达式 `\\d` 判断是否为数字,否则就是其他字符。统计完英文字符、数字和其他字符的个数,最后使用 `System.out.printf()` 方法输出结果。
注意:该程序没有对输入字符串进行异常处理,如果用户输入的字符串为空,可能会抛出异常。
阅读全文