如题

解决方案 »

  1.   

    根据split分割吧,
    看分割之后的数组size即可
      

  2.   

    当然,前提你得文本转换成String
      

  3.   

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Test {
    public static void main(String[] args) {
    int count = 0;
    String regex = "[\\u4e00-\\u9fa5]";
    String str = "中华人民共和国zhonghuarenmingongheguo";
    Pattern p = Pattern.compile(regex);
    Matcher m = p.matcher(str);
    System.out.print("提取出来的中文有:");
    while (m.find()) {
    count++;
    System.out.print(m.group() + " ");
    }
    System.out.println();
    System.out.println("汉字出现的频率:"+count);
    }
    }
      

  4.   

    package str;class DDD {
    String mystr; DDD(String x) {
    mystr = x;
    } void str_convert() {
    char my;
    char[] str1 = mystr.toCharArray();
    // 查找每个字符出现的次数
    for (int i = 0, b = mystr.length(); i < mystr.length(); i++) {
    int c1 = 0;
    my = mystr.charAt(i);
    for (int k = 0; k < b; k++) {
    if (my==str1[k]) {
    c1++;
    }
    }
    System.out.println("字符 " + my + " 出现的次数为:" + c1);
    }
    }
    }class Test {
    public static void main(String args[]) {
    DDD num = new DDD("汉字收到了看见发可是大家分开江苏大汉字");
    num.str_convert();
    }
    }
      

  5.   

    public class FileCount {
    private static final int ONE=1;
    public static void main(String[] args){
    Map m = new HashMap();
    int b=0;
    FileReader fis;
    try {
     fis = new FileReader("F:\\java\\myword.txt");
    while( (b=fis.read())!=-1){
    Integer freq = (Integer)m.get((char)b);
    m.put((char)b,(freq==null?ONE:new Integer(freq.intValue()+1)));
    }
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    System.out.println(m.size()+"------");
    System.out.println(m);
    }
    }
      

  6.   

    public class FileCount {
    private static final int ONE=1;
    public static void main(String[] args){
    Map m = new HashMap();
    int b=0;
    FileReader fis;
    try {
     fis = new FileReader("F:\\java\\myword.txt");
    while( (b=fis.read())!=-1){
    Integer freq = (Integer)m.get((char)b);
    m.put((char)b,(freq==null?ONE:new Integer(freq.intValue()+1)));
    }
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    System.out.println(m.size()+"------");
    System.out.println(m);
    }
    }
      

  7.   


    import java.util.ArrayList;//统计一段文本中汉字出现的频率
    public class StaticPin { /**
     * @param args
     */
    public void Static(String str) {
    ArrayList<Character> al = new ArrayList<Character>();
    for (int i = 0; i < str.length(); i++) {
    al.add(i, str.charAt(i));
    } while (al.size()!=0) {
    int count = 1;
    for (int j = 1; j < al.size() ; j++) {
    if (al.get(0).equals(al.get(j))) {
    al.remove(j);
    count++;
    }
    }
    System.out.println(al.get(0)+" 出现了"+count+"次");
    al.remove(0);
    }
      }
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String  str="中国奥运会成功举办,中国人是好样的";
    StaticPin sp=new StaticPin();
    sp.Static(str);
    }}
      

  8.   


    package Str1;
    import java.util.*;
    public class Test {
        private static final int ONE=1;
           
    public static void main(String[] args) {
        Map l1=new HashMap();
    String str="中华人民共和国中国共产党";
    char[] ch=str.toCharArray();
    for(int i=0;i<str.length();i++){
        Integer freq=(Integer)l1.get(ch[i]);
    l1.put(ch[i],(freq==null?ONE:freq.intValue()+1));
    }
    System.out.println(l1);
    }
    }
    输出结果:{共=2, 产=1, 中=2, 党=1, 和=1, 人=1, 华=1, 国=2, 民=1}
      

  9.   

    我想应该这样吧!!首先建 2个 hashMap 一个放 要统计的字符 ,一个放这个字符在这个字符串里面 出现的次数用一个for(){}来便利这个字符串的所有的字符。if(map1.containsKey(key)){
    //如果map1 已经包含了这个字符那么 map2.put(key,map2.get(key)+1);
    map2,里面存放的是这个字符在串里面出现的次数
    }for 循环结束后还要for 循环 map2  用map2.get(key)/字符串的长度就是没有字符出现的平率!!
      

  10.   

    我想应该这样吧!!首先建 2个 hashMap 一个放 要统计的字符 ,一个放这个字符在这个字符串里面 出现的次数用一个for(){}来便利这个字符串的所有的字符。if(map1.containsKey(key)){
    //如果map1 已经包含了这个字符那么 map2.put(key,map2.get(key)+1);
    map2,里面存放的是这个字符在串里面出现的次数
    }for 循环结束后还要遍历 map2  用map2.get(key)/字符串的长度就是没有字符出现的平率!!
      

  11.   

    直接一个Hashmap, 字符做key,次数作value, 遍历一次搞定