好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

java统计文件中每个字符出现的个数

本文实例为大家分享了java统计文件中字符个数的具体代码,供大家参考,具体内容如下

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

package com.zhu.io;

 

import java.io.bufferedreader;

import java.io.file;

import java.io.filereader;

import java.io.ioexception;

import java.util.map;

import java.util.set;

import java.util.treemap;

 

public class filecharacter{

  map<character,integer>map= new treemap<character,integer>();

  public filecharacter(string filename) throws ioexception{

  bufferedreader br= new bufferedreader( new filereader( new file(filename)));

  int x;

  while ((x=br.read())> 0 ){

   character key= new character(( char )x);

   if (map.containskey(key)){

   int count=map.get(key);

   map.remove(key);

   map.put(key, ++count);

   } else {

   map.put(key, 1 );

   }

  }

  }

  public int getcount( char c){      //获取字符在文件中出现的个数

  return map.get(c);

  }

  public set<character> getallchar(){   //获取文件中字符的set集合

  return map.keyset();

  }

  public map<character,integer> getmap(){  //获取字符与其出现个数组成的map集合

  return map;

  }

  public void printinfo(){         //打印信息

  set<map.entry<character, integer>>set=map.entryset();

  for (map.entry<character, integer> entry:set){

   system.out.println( "[ " +entry.getkey()+ " ]" + "\t" + "count:" +entry.getvalue());

  }

  }

  public static void main(string[] args) throws ioexception {

  filecharacter fc= new filecharacter( "e:\\test.txt" );

  fc.printinfo();

  }

}

小编另为大家分享一段代码:计算一个字符串中每个字符出现的次数

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

import java.util.hashmap;

import java.util.map;

import java.util.scanner;

/**

  * 计算一个字符串中每个字符出现的次数

  *

  * 思路:

  * 通过tochararray()拿到一个字符数组-->

  * 遍历数组,将数组元素作为key,数值1作为value存入map容器-->

  * 如果key重复,通过getkey()拿到value,计算value+1后存入

  */

public class test01 {

   public static void main(string[] args) {

     system.out.println( "请输入字符串:" );

     scanner sc= new scanner(system.in);

     while (sc.hasnextline()){

       string str=sc.nextline();

       map<character,integer> map =count(str);

       system.out.println(map);

     }

   }

   public static map<character,integer> count(string str){

     map<character,integer> map= new hashmap<character,integer>();

     char [] array_char=str.tochararray(); //把字符串转成字符数组

     for ( char arr_char: array_char){ //遍历字符数组

       if (map.containskey(arr_char)){ //查看字符是否在map的key中存在,如果存在

         integer old=map.get(arr_char); //通过key获取value的值

         map.put(arr_char,old+ 1 ); //把字符放入map的key中,value设置为通过key获取value的值+1

       } else { //查看字符是否在map的key中存在,如果不存,把字符放入map的key中,value默认设置为1

         map.put(arr_char, 1 );

       }

     }

     return map;

   }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

原文链接:https://blog.csdn.net/z956281507/article/details/72845563

查看更多关于java统计文件中每个字符出现的个数的详细内容...

  阅读:22次