字符串中字符的判断问题

问题描述:传递一个字符串,分辨出其中所含有的数字和字母的个数

涉及变量:

 list:String型变量,所给字符串

 Numresult:int[]型变量,存放list中所含0-9的数字的个数

 Alresult:int[]型变量,存放list中所含大写字母的个数

 Alpresult:int[]型变量,存放list中所含小写字母的个数

 result:int型变量,存放list中所含其他字符的个数

 time:int型变量,调用输出函数的次数

大致思路:

 初始化先将所要判断的字符串list传递给类,并将所要存放的各个数字和字母的数组先初始化

此处的result为总字符数,在后面的方法中进行其他改变才能获得其他字符数

代码如下:

判断所含的各个数字的个数

将所给字符串遍历,由于0-9的ASCII值在48-57之间,所以当字符串中分隔出来的字符在这之间时,

根据在不同的情况存放在数组Numresult中的不同位置

在确定字符是数字时,result自减少1

大写字母和小写字母的成员方法类似,只是ASCII码的范围有所变化,

由此在将个数存放进数组中时要相应地减去a和A,避免数组下标越界错误

 

其他字符的个数是由result来操控的,因此输出result的值即可

有些细心的朋友可能会发现,上面四个方法都是用了private做修饰符,即只允许在本类内调用

若我在另一个类中建立了CalString类的变量,是不允许调用上面几个方法的

这是因为result的值只能在判断完数字,大小写字母后才能达到准确

若不了解的人随意调用,会导致输出错误的结果,因此只能通过output来调用

而在output里,有一个time自增加的语句

因为只有在第一次判断中需要将不同个数存入数组中,之后并不需要做重复操作

若重复操作,不仅耗时,且会导致result的值出错

以上是我对判断字符串中所含不同字符个数的看法,希望对各位有所帮助

190127 Rewivy

 

posted @ 2019-01-27 23:40  Rewivy  阅读(556)  评论(0编辑  收藏  举报