/**
* 描述:输入一行字符串,并且统计出其中英文字母、空格、数字和其它字符的个数。
* 分析:利用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;
}
}