关于字符串的统计

小粉红爱学习 2007-11-20 10:40:27
统计任意一个字符中,英文单词的总数,最长的单词长度,最短的单词长度,单词的平均长度.英文单词定义为字符串,非字母的字符是单词之间的分隔符`例如 "ab+12cd*123fg%'&()as23BG",则单词总数为5,最长长度4 最短2 平均2.4
...全文
92 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
小粉红爱学习 2007-11-20
  • 打赏
  • 举报
回复
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();
}
}
ftj237 2007-11-20
  • 打赏
  • 举报
回复
用正则表达式或者split进行分拆就可以,结果放到String[]里,String[]的大小就是你要的单词总数,然后写个循环依次取各个String的长度等信息
http://www.10zhizui.cn
ftj237 2007-11-20
  • 打赏
  • 举报
回复
用正则表达式或者split进行分拆就可以,结果放到String[]里,String[]的大小就是你要的单词总数,然后写个循环依次取各个String的长度等信息

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧