郑州到山西:谁能帮我看一下这个JAVA程序

来源:百度文库 编辑:神马品牌网 时间:2024/04/30 01:28:21
static int wordCount(char[] buf){
int position=0,wordcount=0;
while(position<buf.length){
while(position<buf.length && !isAlpha(buf[position]))
position++;
if(position<buf.length)
wordcount++;
while(position<buf.length && isAlpha(buf[position]))
position++;
}
return wordcount;
}

static boolean isAlpha(char c){
return (c>='a' && c<='z') || (c>='A' && c<='Z');
}

这是一个统计输入字符串单词个数的程序里的两个方法
这个是标准答案 我自己做的跟答案的不同之处是 我没有wordCount()里的那个if 直接wordcount++
得出结果如果输入纯字母没有问题 但如果里面有标点符号 就会将标点符号也算入总数
不明白那个if语句起什么作用
本人初学java 基础差 请讲解的详细些
多谢

buf是wordCount方法的一个字符数组参数

buf.length是返回一个INT型数值,这个数值是buf这个数组的长度

position<buf.length是进行比较,来充当执行while的条件

if(position<buf.length)

比较你两次的字符串长度吧??好象没有其他的意思吧