java统计代码 java统计报表

怎么用java编写统计文件中的字符数、单词数和行数?

在C盘新建文件1.txt,输入任意字符,如下图:

站在用户的角度思考问题,与客户深入沟通,找到元宝网站设计与元宝网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广、主机域名、网络空间、企业邮箱。业务覆盖元宝地区。

编写java代码。如下:

import java.io.BufferedReader;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

import java.util.TreeMap;

public class Test {

// 统计数字或者字符出现的次数

public static TreeMapCharacter, Integer Pross(String str) {

char[] charArray = str.toCharArray();

TreeMapCharacter, Integer tm = new TreeMapCharacter, Integer();

for (int x = 0; x  charArray.length; x++) {

if (!tm.containsKey(charArray[x])) {

tm.put(charArray[x], 1);

} else {

int count = tm.get(charArray[x]) + 1;

tm.put(charArray[x], count);

}

}

return tm;

}

public static void main(String[] args) {

BufferedReader br = null;

int line = 0;

String str = "";

StringBuffer sb  = new StringBuffer();

try {

br = new BufferedReader(new FileReader("c:\\1.txt"));

while ((str = br.readLine()) != null) {

sb.append(str);

++line;

}

System.out.println("\n文件行数: " + line);

System.out.println("\n文件内容: " + sb.toString());

TreeMapCharacter, Integer tm = Pross(sb.toString());

System.out.println("\n字符统计结果为:" + tm);

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally {

if (br != null) {

try {

br.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

}运行结果如下图:

java统计串中字符个数的代码解释

整个代码就是为了统计字符串中各个字符出现的个数

MapCharacter, Integer result = getCharMaps(s); 这个方法调用

主要是看这个方法

public static MapCharacter, Integer getCharMaps(String s) {

MapCharacter, Integer map = new HashMapCharacter, Integer(); //定义一个map

for(int i = 0; i s.length(); i++) { // 下面的代码主要是循环字符串,一次取出每一个字符

Character c = s.charAt(i); //获取对应的字符

Integer count = map.get(c); //获取字符对应出现的次数

map.put(c, count == null ? 1 : count + 1); //如果之前出现过,则加1,否则直接赋1

}

return map; //返回最终的map

}

利用Java语言代码输入一行字符分别统计其中英文字母、空格、数字和其他字符的个数。

123456789101112131415161718192021222324

public static void main(String[] args) throws IOException {        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));        String str=br.readLine();         int countNum = 0;//统计数字的个数        int countChar = 0;//统计英文字母的个数        int countSpace = 0;//统计空格的个数        int countOthers = 0;//统计其它字符的个数        for (int i = 0; i  str.length(); i++) {            char c = str.charAt(i);            if (c = '0'  (int) c = '9') {                countNum++;            } else if ((c = 'a'  c = 'z')||(c = 'A'  c = 'Z')) {                countChar++;            } else if (c == ' ') {                countSpace++;            } else{                countOthers++;            }        }        System.out.println("数字个数:"+countNum);        System.out.println("英文字母个数:"+countChar);        System.out.println("空格个数:"+countSpace);        System.out.println("其他字符个数:"+countOthers);    }

一、问题分析:

输入一行字母,那么会以换行结束。所以可以存入数组,也可以逐个输入,遇到换行结束。

要统计各个类的个数,就要逐个判断是哪个分类的。

由于在ASCII码中,数字,大写字母,小写字母分别连续,所以可以根据边界值判断类型。

二、算法设计:

1、读入字符,直到遇到换行结束。

2、对于每个字符,判断是字母还是数字,或者空格,或者是其它字符。

3、对于每个字符判断后,对应类别计数器自加。

4、最终输出结果。


分享文章:java统计代码 java统计报表
新闻来源:http://scyanting.com/article/hpeheh.html