黑马程序员技术交流社区

标题: 这一段代码。非常有趣,希望大家喜欢。 [打印本页]

作者: 廉伟    时间: 2012-9-4 18:47
标题: 这一段代码。非常有趣,希望大家喜欢。
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);
        }
}

作者: 方志亮    时间: 2012-9-4 20:49
抢个沙发  不过这个没什么意思
作者: 崔朋朋    时间: 2012-9-5 18:06
利用ascii码表可知:
A~Z  对应十进制数为  65~90
a~z   对应十进制数为  97~122
0~9  对应十进制数为  48~57
空格 对应十进制数为  32
汉字转换成byte后  所对应的十进制数小于0 (一个汉字=2个byte,所以hanzishu/2)
其他字符对应的就是qita了

该程序的作用是用来统计从键盘输入的字符串中各种字符的数目,总结完毕。
作者: 魏-玉-彪    时间: 2012-9-5 18:26
路过而已
作者: 侯茂绵    时间: 2012-9-17 22:45
{:soso_e140:}看的头都是晕的  那些变量 还是简洁点




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2