首页 / 正则 / Java正则表达式草稿程序*2
Java正则表达式草稿程序*2
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java正则表达式草稿程序*2,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3364字,纯文字阅读大概需要5分钟。
内容图文
![Java正则表达式草稿程序*2](/upload/InfoBanner/zyjiaocheng/1173/86b2777dcb654f9ba075d43f1b7fa46f.jpg)
1、成绩统计。
输入文件input.txt:
张三 语文12 数学31 英语11
李四 语文22 数学22 英语22
王五 语文33 数学33 英语33
期待输出output.txt:
张三 语文12 数学31 英语11 总分54
李四 语文22 数学22 英语22 总分66
王五 语文33 数学33 英语33 总分99
代码:
package com.my.test; import java.io.*; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; publicclass AnalysisResult { privatestatic Pattern r = Pattern.compile("(\\d+)"); privatestaticint getTotal(String line) { Matcher m = r.matcher(line); int total = 0; while (m.find()) { total += Integer.valueOf(m.group(0)); } return total; } publicstaticvoid main(String args[]) { try { /* 读入TXT文件 */ File readFile = new File("input.txt"); InputStreamReader inputStreamReader = new InputStreamReader( new FileInputStream(readFile)); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String line; List<String> contents = new ArrayList<>(); while ((line = bufferedReader.readLine()) != null) { contents.add(line); } bufferedReader.close(); /* 写入TXT文件 */ File writeFile = new File("output.txt"); BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(writeFile, true)); PrintWriter pw = new PrintWriter(bufferedWriter); for (int i = 0; i != contents.size(); ++i) { String temp = contents.get(i); pw.println(temp + " 总分" + getTotal(temp)); } bufferedWriter.flush(); bufferedWriter.close(); } catch (Exception e) { e.printStackTrace(); } } }
/
2、单词统计。
输入文件input.txt:
Today, when I go home after school, I find that I lose my key. I feel so worried and try to remember all the places I have been to. As I walk into the shop, an old man stops me and asks if I lose the key. I feel so excited and say yes. At last, I find my keyandgo home. Though I am lucky this time, I tell myself notto do it again.
期待输出:
代码:
package com.my.test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; publicclass WordStatistic { privatestaticint total = 0; privatestatic Pattern r = Pattern.compile("(\\b[a-zA-Z]+\\b)"); privatestatic Map<String, Integer> wordMap = new HashMap<>(); privatestaticvoid countWords(String line) { Matcher m = r.matcher(line); while (m.find()) { total++; String word = m.group(0); Integer wordCount = wordMap.get(word); if (wordCount != null) { wordMap.put(word, wordCount + 1); } else { wordMap.put(word, 1); } } } privatestatic List sortByValue(Map<String, Integer> map) { List<Map.Entry<String, Integer>> result = new ArrayList<>(map.entrySet()); result.sort(Comparator.comparing(Map.Entry::getValue)); return result; } publicstaticvoid main(String[] args) { try { /* 读入TXT文件 */ File readFile = new File("input.txt"); InputStreamReader inputStreamReader = new InputStreamReader( new FileInputStream(readFile)); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String line; while ((line = bufferedReader.readLine()) != null) { countWords(line); } bufferedReader.close(); } catch (Exception e) { e.printStackTrace(); } System.out.println("单词总数:" + total); System.out.println("不同单词的个数:" + wordMap.size()); List list = sortByValue(wordMap); for (int i = list.size() - 1; i != 0; --i) { System.out.println(list.get(i)); } } }
原文:https://www.cnblogs.com/xkxf/p/10197837.html
内容总结
以上是互联网集市为您收集整理的Java正则表达式草稿程序*2全部内容,希望文章能够帮你解决Java正则表达式草稿程序*2所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。