统计任意一个字符中,英文单词的总数,最长的单词长度,最短的单词长度,单词的平均长度.英文单词定义为字符串,非字母的字符是单词之间的分隔符`例如 "ab+12cd*123fg%'&()as23BG",则单词总数为5,最长长度4 最短2 平均2.4

解决方案 »

  1.   

    用正则表达式或者split进行分拆就可以,结果放到String[]里,String[]的大小就是你要的单词总数,然后写个循环依次取各个String的长度等信息
      

  2.   

    用正则表达式或者split进行分拆就可以,结果放到String[]里,String[]的大小就是你要的单词总数,然后写个循环依次取各个String的长度等信息
    http://www.10zhizui.cn
      

  3.   

    class count{
        String str;
        int all;//统计单词总数
        int max=0;//统计最长长度
        int min=100;//统计最短长度
        int length;//记录每个单词的长度
        double avg=0;//计算平均长度
        count(String str){
            this.str=str;
            }
        int Charletter(char a){//判断是否是字母
            if((a>='a'&&a<='z')||(a>='A'&&a<='Z'))
            return 1;
            else
               return 0;
            }
        void math(){//统计方法
            for(int i=0;i<=str.length()-1;){
                if(Charletter(str.charAt(i))==1){
                all++;length=1;
                while(Charletter(str.charAt(++i))==1){
                length++;
                }
                avg+=length;
                if(length>=max)max=length;
                if(length<=min)min=length;
                }
                else
                    i++;    
                }
            avg=avg/all;
            System.out.println("单词总数为:"+all);
            System.out.println("最长长度为:"+max);
            System.out.println("最短长度为:"+min);
            System.out.println("平均长度为:"+avg);
            }
    }
    public class StringTest{
        public static void main(String[] args){
            count obja=new count("abdd%%hdf(zbgdfdewer)sGddfdwd/aserdfg(");
            obja.math();
            }
    }