A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.io.*;
public class Text7 {
        public static void main(String[] agrs) throws IOException
        {
                String zifuchuan=new String("");
                int hanzishu=0;int zimu=0;int kongge=0;int shuzi=0;int qita=0;
                System.out.print("请输入一行字符:");
                BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
                zifuchuan=stdin.readLine();
                byte[] bytes=zifuchuan.getBytes();
                for(int i=0;i<bytes.length;i++)
                {
                        if((bytes[i]>=65&&bytes[i]<=90)||(bytes[i]>=97&&bytes[i]<=122))
                                        zimu++;
                        else if(bytes[i]==32)
                                        kongge++;
                        else if(bytes[i]>=48&&bytes[i]<=57)
                                        shuzi++;
                        else if(bytes[i]<0)
                                        hanzishu++;
                        else
                                        qita++;
                }
                System.out.println("字符串所占字节个数为:"+bytes.length);
                System.out.println("汉字个数为:"+hanzishu/2);
                System.out.println("英文字母个数为:"+zimu);
                System.out.println("空格个数为:"+kongge);
                System.out.println("数字个数为:"+shuzi);
                System.out.println("其他字符个数为:"+qita);
        }
}

4 个回复

倒序浏览
抢个沙发  不过这个没什么意思
回复 使用道具 举报
利用ascii码表可知:
A~Z  对应十进制数为  65~90
a~z   对应十进制数为  97~122
0~9  对应十进制数为  48~57
空格 对应十进制数为  32
汉字转换成byte后  所对应的十进制数小于0 (一个汉字=2个byte,所以hanzishu/2)
其他字符对应的就是qita了

该程序的作用是用来统计从键盘输入的字符串中各种字符的数目,总结完毕。
回复 使用道具 举报
路过而已
回复 使用道具 举报
{:soso_e140:}看的头都是晕的  那些变量 还是简洁点
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马