您的位置:首页 > 编程语言 > Java开发

Java案例:统计文本中所有整数之和

2018-02-18 21:34 393 查看
一、源代码/**
* 功能:统计文件中的数字之和
* 作者:华卫
* 日期:2013年7月20日
*/

package regex;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class CountNumbers {
public static void main(String[] args) {
int sum = 0;
try {
FileReader fr = new FileReader("src/regex/译诗录.txt");
BufferedReader br = new BufferedReader(fr);
StringBuffer buffer = new StringBuffer();
String strNextLine = "";
strNextLine = br.readLine();
while (strNextLine != null) {
buffer.append(strNextLine + "\n");
strNextLine = br.readLine(); // 读取下一行
}
Pattern pattern = Pattern.compile("[-+]?\\d{1,}");
Matcher matcher = pattern.matcher(buffer.toString());
while (matcher.find()) {
System.out.print(matcher.group() + "\t");
sum = sum + Integer.parseInt(matcher.group());
}
System.out.println("\nsum=" + sum);
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}二、示例文本文件
译诗录

泰戈尔【5】、莎士比亚【20】、叶芝【14】、雪莱【14】、狄金森【32】、华兹华斯【6】
蒂斯代尔【69】、里尔克【7】、鲁拜集【27】、布莱克【9】、弗罗斯特【14】、休斯【13】
萨福【12】、布洛克【12】、梭罗【2】、惠特曼【3】、聂鲁达【3】、邓巴【2】、济慈【1】
拜伦【4】、蒲柏【2】、朗费罗【4】、布科夫斯基【3】、威尔科克斯【3】、裴多菲【2】
托马斯·麦克多纳【1】、伊夫林·司各特【1】、丁尼生【2】、柏拉图【1】、米亚·欧欣【1】
约翰·梅斯菲尔德【1】、豪斯曼【3】、布朗宁夫人【5】、克里丝蒂娜·罗塞蒂【5】
乔·法奇奥【8】威廉·马尔【1】、罗伯特·布朗宁【2】、詹姆斯·罗素·洛威尔【1】
泰德·休斯【2】、艾兹拉·庞德【2】、康明斯【1】、罗伯特·布莱【4】、塔莎·肖尔丝【1】
加里埃尔拉·米斯特拉尔【1】、洛利斯·马拉古兹【1】、加里·斯奈德【1】、阿布尔·侯赛因【1】
罗伯特·赫里克【19】、埃德加·格斯特【1】、罗纳德·斯图亚特·托马斯【1】、哈姆林·加兰【1】
詹姆斯·J·麦卡夫【1】、卡利·卡梅尔·格利玛【1】、罗伯特·格拉夫【1】、莎莉·J·楼尔【1】
艾米莉·勃朗特【1】、托马斯·哈代【1】、罗德·麦昆【1】、切斯拉夫·米沃什【1】
威斯坦·休·奥登【1】、希尔达·杜利特尔【1】、亚历山大·普希金【1】、阿曼达·琳子【1】
爱默生【1】、伊迪丝·M·托马斯【1】、乔依斯·基尔默【1】、托马斯·格雷【1】
纳特·金·蔻尔【1】、威廉·库柏【1】、马丁·尼莫勒【1】、海因里希·海涅【1】
托马斯·摩尔【1】、罗伯特·彭斯【1】、托马斯·怀特爵士【1】、理查德·亨利·斯托达德【1】
艾伦·金斯伯格【1】、杰克·伦敦【1】、威尔伯·司基尔斯【1】、玛丽·弗赖伊【1】
费德里科·加西亚·洛尔伽【1】、科尔法克斯·伯戈因·哈曼【1】、卡瓦菲斯【2】
詹姆斯·赖特【1】、亚当·扎加耶夫斯基【1】、维克托·威【1】、斯蒂文森【2】
多罗茜·帕克【1】、约翰·多恩【3】、戴·赫·劳伦斯【1】、菲利普·拉金【16】
雅克·普列维尔【1】、麦克司·威伯【1】、杰西卡·布莱德【1】、汉娜·乔·基【1】
威廉·欧内斯特·亨利【1】、迈克·布莱尔【1】、克劳德·麦凯【1】、艾伦·贝利【1】
乔安森·亚伦【1】、威廉·德拉蒙德【1】、玛丽·柯勒律治【1】、塞谬尔·约翰逊【1】
艾伦·戴文波特【1】、米蕾【1】、罗伯特·潘·沃伦【1】、但丁·加布里埃尔·罗塞蒂【1】
本·琼生【1】、温迪·韦德洛克 【2】、马修·阿诺德【1】、阿比盖尔·莎拉·哈德利【1】
吉恩·瓦仑丁【1】、米莱【1】、龙贝寂【1】、罗伊·鲍曼【1】、扎历荷·侯赛因【1】
约翰·阿什伯利【1】、埃莉诺·法杰恩【1】、比利【1】、莫鲁斯·杨【2】、克兰【3】
艾米·洛威尔【6】、沃尔特·萨维奇·兰多【2】、克劳德·麦凯【1】、雷切尔·哈达斯【1】
路易斯·卡洛斯·佩雷拉【1】、伊玛·拉扎罗斯【1】、柯勒律治【3】、杰克·迈尔斯【1】
罗伯特·平斯基【1】、艾伦·亚历山大·米尔恩【1】、奥格登·纳什【1】、玛克辛·库敏【1】
尼克·维吉里奥【1】、罗斯莱尔普【1】、约翰·多恩【1】、理查德·拉雷斯【1】
沃尔特·萨维奇·兰道【1】、威廉·卡罗斯·威廉斯【1】、奥立佛·戈德史密斯【1】
切·米沃什【1】 、扎尼塔·卡丽娃-帕派约阿诺【1】、乔治·威廉·科蒂斯【1】
夏洛特·玛丽·缪【1】、迪伦·托马斯【1】、海因里希·海涅【2】、盖瑞·施耐德【1】
娜奥米·西哈伯·奈【2】、埃德加·爱伦·坡【1】、埃里克·弗里德【1】、谢默斯·希尼【1】
克里斯·法莫尔【1】、克里斯·梅西克【1】、J·克里士纳木尔提【1】、亚当·扎加耶夫斯基【2】
维克拉姆·塞斯【1】、利·亨特【1】、玛丽安·摩尔【1】、大卫·赫伯特·劳伦斯【2】
约翰·霍华德·佩恩【1】、奥斯卡·王尔德【1】、萨沙·弗莱彻【1】、卡比尔【1】
大卫·费里【1】、琳达·帕斯坦【1】、华莱士·史蒂文斯【1】、耶胡达·阿米亥【3】
翁贝尔托·萨巴【1】、威廉·斯塔福德【1】、保罗·穆顿【1】、杰顿·凯尔门迪【11】
吉姆·哈里森【1】、卡尔·桑德伯格【1】、查尔斯·布考斯基【1】、路易丝·格鲁克【1】
查尔斯·西米克【1】、曼纽尔·班德拉【1】、伊丽莎白·毕肖普【5】、菲利西娅·赫门兹【1】
路易斯·辛普森【1】、西蒙·阿米蒂奇【1】、古斯塔夫·马勒【1】、歌德【2】、玛雅·潘福德【1】
巴勃尔德夫人【1】、博尔赫斯【3】、考特尼·库赫达【1】、希拉夫·列侬【1】、大卫·G·凯利【1】
劳拉·维罗妮卡·梅洛蒂欧【1】、克里斯·恩格尔【1】、约翰·欧文【1】、阿沃蒂亚·鸥露瓦达迈勒尔【1】
珍·凯勒·麦克马纳斯【1】、阿曼达·玛丽·伯森【1】、乔纳森·汤森【1】、玛莎·霍伊特【1】
杰西卡·安·特林布【1】、佚名【44】
三、运行结果
5    20    14    14    32    6    69    7    27    9    14    13    12    12    2    3    3    2    1    4    2    4    3    3    2    1    1    2    1    1    1    3    5    5    8    1    2    1    2    2    1    4    1    1    1    1    1    19    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    2    1    1    1    2    1    3    1    16    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    2    1    1    1    1    1    1    1    1    1    1    2    3    6    2    1    1    1    1    3    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    2    1    2    1    1    1    1    1    1    2    1    1    1    2    1    1    1    1    1    1    1    3    1    1    1    11    1    1    1    1    1    1    5    1    1    1    1    2    1    1    3    1    1    1    1    1    1    1    1    1    1    1    1    44
sum=595
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐