写完参考其他代码才知道可以直接调API判断。。。
import java.util.Scanner;
/**
* 【统计字符】
*
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String nextLine = sc.nextLine();
int character = 0;
int blank = 0;
int number = 0;
int other = 0;
char[] chars = nextLine.toCharArray();
for (int i = 0; i < chars.length; i++) {
if (Character.isLetter(chars[i])) {
character++;
} else if (Character.isSpaceChar(chars[i])) {
blank++;
} else if (Character.isDigit(chars[i])) {
number++;
} else {
other++;
}
}
System.out.println(character);
System.out.println(blank);
System.out.println(number);
System.out.println(other);
}
}
不调用API的代码
import java.util.Scanner;
/**
* 【统计字符】
*
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String nextLine = sc.nextLine();
int character = 0;
int blank = 0;
int number = 0;
int other = 0;
char[] chars = nextLine.toCharArray();
for (int i = 0; i < chars.length; i++) {
if (('A' <= chars[i] && 'Z' >= chars[i]) || ('a' <= chars[i] && 'z' >= chars[i])) {
character++;
} else if ('0' <= chars[i] && '9' >= chars[i]) {
number++;
} else if (' ' == chars[i]) {
blank++;
} else {
other++;
}
}
System.out.println(character);
System.out.println(blank);
System.out.println(number);
System.out.println(other);
}
}