Java经典案例之-“统计英文字母、空格、数字和其它字符的个数”

/**

 * 描述:输入一行字符串,并且统计出其中英文字母、空格、数字和其它字符的个数。

 * 分析:利用for语句,条件为输入的字符不为 ' '

 * 作者:徐守威

 */

package com.xushouwei;

import java.util.*;

public class T7 {

   public static void main(String[] args) {

      //输入字符串

      System.out.println("请输入您要输入的字符串:");

      Scanner sc=new Scanner(System.in);

      String str = sc.next(); 

      System.out.println("[总字符数1]:"+countSum1(str));               

      System.out.println("[总字符数2]:"+countSum2(str));                

      System.out.println("[总字符数3]:"+str.length()); 

   }

   //统计所输入的字符字符总数

   public static int countSum1(String str)

   { 

      //定义unicode码个数

      int unicodeCount = 0; 

      //定义数字的个数

      int szCount = 0;

      //定义字母个数

      int zmCount = 0; 

      for (int i = 0; i < str.length(); i++)

      { 

         //返回指定索引处的 char 值,统计数字个数,字母个数,unicode码个数

         char c = str.charAt(i); 

         if (c >= '0' && c <= '9')

         { 

            //统计数字个数

            szCount++; 

         }else if((c >= 'a' && c<='z') || (c >= 'A' && c<='Z'))

         { 

            //统计字母个数

            zmCount++; 

         }else

         { 

            //统计unicode码个数

            unicodeCount++; 

         } 

      } 

      System.out.println("Unicode:"+unicodeCount); 

      System.out.println("数字:"+szCount); 

      System.out.println("字母:"+zmCount);           

      int sum=szCount+zmCount+unicodeCount; 

      return sum; 

   } 

   public static int countSum2(String str) {

      //字母个数

      int abccount = 0;

      //数字个数

      int numcount = 0;

      //空格个数

      int spacecount = 0; 

      //其他符号个数

      int othercount = 0;

      //将字符串转换成一个新的字符数组

      char[] b = str.toCharArray(); 

      for(int i = 0; i < b.length; i++)

      { 

         if(b[i]>='a'&&b[i]<='z'||b[i]>='A'&&b[i]<='Z')

         { 

            //字母个数统计

            abccount++; 

         }else if(b[i]>='0'&&b[i]<='9')

         { 

            //数字个数统计

            numcount++; 

         }else if(b[i]==' ')

         { 

            //空格个数统计

            spacecount++; 

         }else

         { 

            //其他符号个数统计

            othercount++; 

         } 

      } 

      int sum=abccount+numcount+spacecount+othercount; 

      System.out.println("字符串中含有的英文字母数为:" + abccount); 

      System.out.println("字符串中含有的数字数为:" + numcount); 

      System.out.println("字符串中含有的空格数为:" + spacecount); 

      System.out.println("字符串中含有的其他字符为:" + othercount); 

      return sum;  

   } 

}

原文地址:https://www.cnblogs.com/Jasxu/p/tongjigeshu.html