黑马程序员技术交流社区
标题:
求解答,求大神支招
[打印本页]
作者:
明天你好,微笑
时间:
2015-8-19 20:15
标题:
求解答,求大神支招
如何取出一个字符串中字母出现的次数
作者:
明天你好,微笑
时间:
2015-8-19 20:17
求解答,求大神支招
作者:
kingxiao
时间:
2015-8-19 20:33
定义一个计数器,查找,每次找到一个加1,然后,判断次数就好了
作者:
shdosh
时间:
2015-8-19 21:06
如果你说的是同一个字母的话可以这样:
class Tran
{
public static void main(String[] args)
{
String str = "abcacdgabdegakali;";
char[] arr = str.toCharArray();
int count = 0;
for(int i = 0;i<arr.length;i++){
if(arr[i]=='a')
count++;
}
System.out.println(count);
}
}
复制代码
当然你可以用map集合存储字符和字符数,取所有字母出现的值。
如果你说的是 字母和其他字符组成的字符串中字母出现的次数的话:
class Tran
{
public static void main(String[] args)
{
String str = "jlkjAjkIKkA*&%(k*&ljlj&#@;";
char[] arr = str.toCharArray();
int count = 0;
for(int i = 0;i<arr.length;i++){
if((arr[i]>='a' && arr[i]<='z' )||(arr[i]>='A' && arr[i]<='Z'))
count++;
}
System.out.println(count);
}
}
复制代码
作者:
pengbeilin
时间:
2015-8-19 21:19
用TreeMap集合装,字母装在key中,次数装在value中,把字符串转换成字符数组进行遍历
复制代码
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
public class text01 {
public static void main(String[] args) {
TreeMap<Character,Integer> tr =ts("ddsgdfgdfgerfdgdfdf");
Set<Character> set = tr.keySet();
Iterator<Character> it = set.iterator();
while(it.hasNext()){
Character ch =it.next();
Integer in = tr.get(ch);
System.out.print(ch+"("+in+")");
}
}
public static TreeMap<Character,Integer> ts(String s){
TreeMap<Character,Integer> tr =new TreeMap<Character,Integer>();
char[]ch =s.toCharArray();//字符串转换才字符数组
for(int i=0;i<s.length();i++){ //遍历字符数组
if(('z'>=ch[i] && ch[i]>='a') ||( 'Z'>=ch[i]&& ch[i]>='A'))
{
Integer value = tr.get(ch[i]);//用一个Ineger的变量获取
int count = 0;//
if(value!=null)//不等于null的话就把值赋给count
{
count=value;//把值付给count
}
count++;//自增一次
tr.put(ch[i], count);//装入集合中
}
continue;
}
return tr;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2