输入一串字串,遇到*结束,统计其中字母,数字和其他字符的个数,如,输入123abc%\\&* 的java代码
时间: 2024-10-13 20:17:11 浏览: 20
asp 实现检测字符串是否为纯字母和数字组合的函数
在Java中,你可以使用正则表达式配合流API来统计输入字符串中字母、数字以及其他字符的数量。下面是一个简单的示例代码:
```java
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CharacterCounter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一串字符串(以'*'结尾): ");
String input = scanner.nextLine(); // 获取用户输入
// 定义模式匹配,区分字母、数字和其他字符
Pattern pattern = Pattern.compile("[a-zA-Z0-9.*]+"); // 匹配字母、数字、点和星号
Matcher matcher = pattern.matcher(input);
int letterCount = 0; // 字母计数
int digitCount = 0; // 数字计数
int otherCount = 0; // 其他字符(包括*)计数
while (matcher.find()) {
char currentChar = matcher.group().charAt(0); // 取得第一个字符
switch (currentChar) {
case 'A'...'Z':
case 'a'...'z':
letterCount++;
break;
case '0'...'9':
digitCount++;
break;
default: // 如果是其他字符(除字母和数字)
if (currentChar != '*') {
otherCount++;
}
break;
}
}
System.out.println("字母数量: " + letterCount);
System.out.println("数字数量: " + digitCount);
System.out.println("其他字符(不含*)数量: " + otherCount);
阅读全文