package com.yangzl.basic; import java.util.Scanner; /** * 分别统计出其中汉字、英文字母、空格、数字和其它字符的个数 * @author Administrator * */ public class Count_Input_Str_Num { public static void main(String[] args) { System.out.print("输入字符:"); Scanner s = new Scanner(System.in); String str = s.nextLine(); count(str); } /** * 统计汉字、字母、空格、数字的函数 * @param str */ public static void count(String str){ //统计个数 int ch_count = 0; int en_count = 0; int dig_count = 0; int blank_count = 0; int other_count = 0; for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if(Character.isLetter(c)&&c>255){//判断汉字 ch_count++; }else if((c>='a'&c<='z')||(c>='A'&c<='Z')){//判断字母 en_count++; }else if(c>='0'&c<='9'){//判断数字 dig_count++; }else if(c==' '){//判断空格 blank_count++; }else{ other_count++; } } System.out.println("汉字个数:"+ch_count); System.out.println("字母个数:"+en_count); System.out.println("数字个数:"+dig_count); System.out.println("空格个数:"+blank_count); System.out.println("其他字符个数:"+other_count); } }
结果:
输入字符:你好 i am YZL 345 %^&*() 汉字个数:2 字母个数:6 数字个数:3 空格个数:5 其他字符个数:6
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
2.弹出框的形式
package com.yangzl.basic; import javax.swing.JOptionPane; /** * 弹出框形式 计算英文字母、数字、空格的个数 * @author Administrator * */ public class Count { public static void main(String []args){ int ch=0; int nu=0; int blank=0; int ot=0; String st = JOptionPane.showInputDialog("请输入字符串:"); for(int i=0;i<st.length();i++){ char n=st.charAt(i); if(n>='0'&&n<='9')nu++; else if((n>='a'&n<='z')||(n>='A'&n<='Z'))ch++; else if(n==' ')blank++; else ot++; } JOptionPane.showMessageDialog(null, "输入的字符串:"+st+" 字母个数:"+ch+" 数字个数:"+nu+" 空格个数:"+blank+" 其他字符:"+ot); } }