回 帖 发 新 帖 刷新版面

主题:不太明白这段代码,请高手指点!谢谢!

这是一个判断输入的字符串有大写字母多少个,小写字母多少个,数字字符多少个,其它字符多少个的代码,是我看的教材上的,我不太明白,请那位大虾给逐句注释一下,不胜感谢! 

dim a(4) as integer,ch as srting,instring as integer
dim i as integer
dim srt as string()={"大写字母","小写字母","数字字符","其它字符"}
instring=txtinput.text
for  i=0 to instring.length-1
ch=instring.chars(i)
select  case ch
case  "A"to"Z"
a(0)=a(0)+1
case  "a"to"z"
a(1)=a(1)+1
case  "0"to"9"
a(2)=a(2)+1
case  else
a(3)=a(3)+1
end select
next i
for i=0 to  3
txtoutput.text +=srt(i)+a(i).tostring+vbcrlf
next

回复列表 (共4个回复)

沙发

a[]这个数组分别存放字符()={"大写字母","小写字母","数字字符","其它字符"}的个数   for  i=0 to instring.length-1循环次数有字符数决定
ch=instring.chars(i) 每次循环取出一个字符判断类型 分别在相对应的数组上进行统计 你一定是个超级初学者吧?

板凳

谢谢这位朋友,我不太明白a(0)=a(0)+1这句是什么意思啊?从这句以后的我也不太明白,前面的你一说我大概明白了,谢谢!

3 楼

a(0)=a(0)+1   就是一个变量直更新呀,这个数组是整型的,a(0)存放一个数,就象变量i一样里边存放一个数,a(0)是一个变量名称,这个数就是记录大写字母的个数,看见一个大写字母当然要在变量原来的基础上加1了!!!  你也可以在这个程序中定义四个其它变量来带替数组,不过可读性不高!你以后就会慢慢理解的!!

4 楼

hehe

我来回复

您尚未登录,请登录后再回复。点此登录或注册