A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

额不会,求大神解答下

4 个回复

倒序浏览
我知道的是计算一个字符串里面大写字母,小写字母,还有数字的出现次数.
在外面定义三个int类型的变量.把字符串使用toCharArray()方法抓换成字符数组,然后遍历这个字符数组
如果ch>'a' && ch<'z'说明这个字符是小写,那么,管理小写的那个变量就自加一一次.同理,大写字母就是
ch>'A' && ch<'Z' 数字就是大于字符的0,小于字符的9.至于中文的我就不知道了.因为不知道对应的AscII哈
回复 使用道具 举报
跟这视频里的案例自己做的一个,汉字和符号应该都差不多吧,都是GBK编码,占2字节。
  1. package com.cn.reviev;
  2. import java.util.*;
  3. /**
  4. * 获取字符串中字母的个数并输出
  5. * @author Administrator
  6. *
  7. */
  8. public class TreeSetSortString {
  9.         public static void main(String[] args) {
  10.                 String s="azxcAXCCxaea   rtsdfbb";
  11.                 countNum(s);
  12.         }
  13.         static void countNum(String s){
  14.                 char [] ch=s.toCharArray();//字符串转成数组
  15.                 Map<Character,Integer> st=new TreeMap<Character,Integer>();
  16.                 for(int i=0;i<ch.length;i++){
  17.                         if(!((ch[i]<='z'&&ch[i]>='a')||(ch[i]<='Z'&&ch[i]>='A'))) continue;
  18.                         int count=0;//计数器
  19.                         if(st.containsKey(ch[i])){//st中包含有元素就取出该值
  20.                                 count=st.get(ch[i]);
  21.                         }
  22.                         count++;//计数器加一
  23.                         st.put(ch[i],count);//存入
  24.                 }
  25.                 System.out.println(st);
  26.         }
  27. }
复制代码
回复 使用道具 举报
你的意思是每一个字符出现的次数把?
回复 使用道具 举报
哈哈 人家给你解答的不错了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马