黑马程序员技术交流社区
标题:
关于取出字符串中字母个数(不一样的解法!)
[打印本页]
作者:
黑马-王燚
时间:
2012-10-4 21:50
标题:
关于取出字符串中字母个数(不一样的解法!)
本帖最后由 黑马-王燚 于 2012-10-5 00:35 编辑
取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...
老毕貌似用的是TreeMap做的,我这里自己有一个方法 是用数组做的 。贴出来大家分享分享,自我感觉我的方法还是很不错的 ,有扩展性呢,嘿嘿。
import java.io.*;
public class Test4
{
/** 取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,
* 输出格式为:a(2)b(1)k(2)...
*
* @param args
*/
public static void main(String[] args) throws Exception
{
// TODO 自动生成的方法存根
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
sop("请输入一个字符串:");
String s=br.readLine();
sop(s);
sop(countCharacter(s));
}
public static void sop(Object obj)
{
System.out.println(obj);
}
public static String countCharacter(String s)
{
int count[]=new int[127];//统计每一个字符出现的次数
for (int i = 0; i < s.length(); i++)
{
count[(int)s.charAt(i)]++;
}
String result="";
//输出 这里的K改成从0开始 就能连数字也一起统计了,其实是统计所有的ASCII码
for (int k = 65; k < count.length; k++)
{
if(count[k]!=0)
{
//比如a是97 那就直接输入97
result=result+(char)k+"("+count[k]+")"; //按格式输出 a(2)
}
}
return result;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2