题解 | #统计字符#
统计字符
http://www.nowcoder.com/practice/539054b4c33b4776bc350155f7abd8f5
//我的写法
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner in = new Scanner (System.in);
String s = in.nextLine();
char[] c =s.toCharArray();
int[] num = new int[]{0,0,0,0};
for(int i =0; i<s.length(); i++){
if(Character.isDigit(c[i]) ){num[2]+=1; }
else if(Character.isLetter(c[i]) ){num[0]+=1; }
else if(c[i] == ' ' ){num[1]+=1; }
else{num[3]+=1; }
}//for
for(int i =0; i<4; i++){
System.out.println(num[i]);
}
}//main
}//Main
public class Main {
public static void main(String[] args){
Scanner in = new Scanner (System.in);
String s = in.nextLine();
char[] c =s.toCharArray();
int[] num = new int[]{0,0,0,0};
for(int i =0; i<s.length(); i++){
if(Character.isDigit(c[i]) ){num[2]+=1; }
else if(Character.isLetter(c[i]) ){num[0]+=1; }
else if(c[i] == ' ' ){num[1]+=1; }
else{num[3]+=1; }
}//for
for(int i =0; i<4; i++){
System.out.println(num[i]);
}
}//main
}//Main
//其他作者的写法
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
while(in.hasNext()){
String str=in.nextLine();
String s1=str.replaceAll("[A-Z]+|[a-z]+", "");//用空字符代替所有的字母,只剩下除字母之外的其他所有字符
System.out.println(str.length()-s1.length());
String s2=s1.replaceAll(" ", "");
System.out.println(s1.length()-s2.length());
String s3=s2.replaceAll("[0-9]+", "");
System.out.println(s2.length()-s3.length()+"\n"+s3.length());
}
}
}
public class Main{
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
while(in.hasNext()){
String str=in.nextLine();
String s1=str.replaceAll("[A-Z]+|[a-z]+", "");//用空字符代替所有的字母,只剩下除字母之外的其他所有字符
System.out.println(str.length()-s1.length());
String s2=s1.replaceAll(" ", "");
System.out.println(s1.length()-s2.length());
String s3=s2.replaceAll("[0-9]+", "");
System.out.println(s2.length()-s3.length()+"\n"+s3.length());
}
}
}