Java正则表达式草稿程序*2
生活随笔
收集整理的這篇文章主要介紹了
Java正则表达式草稿程序*2
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、成績(jī)統(tǒng)計(jì)。
輸入文件input.txt:
張三 語(yǔ)文12 數(shù)學(xué)31 英語(yǔ)11 李四 語(yǔ)文22 數(shù)學(xué)22 英語(yǔ)22 王五 語(yǔ)文33 數(shù)學(xué)33 英語(yǔ)33期待輸出output.txt:
張三 語(yǔ)文12 數(shù)學(xué)31 英語(yǔ)11 總分54 李四 語(yǔ)文22 數(shù)學(xué)22 英語(yǔ)22 總分66 王五 語(yǔ)文33 數(shù)學(xué)33 英語(yǔ)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;public class AnalysisResult {private static Pattern r = Pattern.compile("(\\d+)");private static int getTotal(String line) {Matcher m = r.matcher(line);int total = 0;while (m.find()) {total += Integer.valueOf(m.group(0));}return total;}public static void 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、單詞統(tǒng)計(jì)。
輸入文件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 key and go home. Though I am lucky this time, I tell myself not to 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;public class WordStatistic {private static int total = 0;private static Pattern r = Pattern.compile("(\\b[a-zA-Z]+\\b)");private static Map<String, Integer> wordMap = new HashMap<>();private static void 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);}}}private static 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;}public static void 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("單詞總數(shù):" + total);System.out.println("不同單詞的個(gè)數(shù):" + wordMap.size());List list = sortByValue(wordMap);for (int i = list.size() - 1; i != 0; --i) {System.out.println(list.get(i));}} }?
轉(zhuǎn)載于:https://www.cnblogs.com/xkxf/p/10197837.html
總結(jié)
以上是生活随笔為你收集整理的Java正则表达式草稿程序*2的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue2.5+在vue-cli3.0中使
- 下一篇: STM32F051C8T6控制LED