黑马程序员技术交流社区
标题:
分享一题入学测试题配详细注释,绝对对你有所帮助。
[打印本页]
作者:
廖彬
时间:
2015-1-12 22:41
标题:
分享一题入学测试题配详细注释,绝对对你有所帮助。
3、 取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...
public class test3
{
public static void main(String[] args)
{
//定义一个字符串
String str = "abcdekka27qoq";
//将字符串转化为字符数组
char[] buf = str.toCharArray();
//定义一个数组,由于字符最大值z的Ascall码为122,将字符数组定义为123
int[] num = new int[123];
//将字符放入数组num变为nun数组的下标值,举例:buf[0] = 'a';将它放入num[],‘a’变为Asscall值为97
//即为num[97],通过循环num[97]++;即可记录a出现的次数
for(int i = 0; i < buf.length; i++)
num[buf[i]]++;
//同过for循环遍历数组num
for(int i = 0; i < num.length; i++)
{
//通过i的大小满足(i>=65 && i<=90) || (i>=97&& i<=122)则找到数组num所有大小写字母
//并且要满足num[i]>0才能找出并输出字符串中出现的字母
if(((i>=65 && i<=90) || (i>=97&& i<=122)) && num[i] > 0)
{
System.out.print((char)i + "(" + num[i] + ")");
}
}
}
}
作者:
Imp_x
时间:
2015-1-12 23:47
{:3_66:}我觉得还是用map集合做比较简单
作者:
jojo
时间:
2015-1-13 00:07
楼主不错,将字符的ascii作为自定义hash数组的下标
作者:
我为你着迷
时间:
2015-1-13 17:11
这注释也太多了吧 亲 看着有点胖
作者:
飞翔的蜗牛
时间:
2015-1-13 17:43
先收藏。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2