欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)讀取鍵盤輸入保存到txt文件,再統(tǒng)計并輸出每個單詞出現(xiàn)次數(shù)的方法

 更新時間:2017年07月08日 11:21:33   作者:Haiyoung  
這篇文章主要介紹了Java實(shí)現(xiàn)讀取鍵盤輸入保存到txt文件,再統(tǒng)計并輸出每個單詞出現(xiàn)次數(shù)的方法,涉及java文件I/O操作及字符串遍歷、運(yùn)算實(shí)現(xiàn)統(tǒng)計功能相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了Java實(shí)現(xiàn)讀取鍵盤輸入保存到txt文件,再統(tǒng)計并輸出每個單詞出現(xiàn)次數(shù)的方法。分享給大家供大家參考,具體如下:

package javatest;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class Demo {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("請輸入 :");
    String inputStr = scanner.nextLine();
    System.out.println("inputStr : " + inputStr);
    File file = new File("D:/test/test01.txt");
    FileOutputStream fileOut;
    try {
      fileOut = new FileOutputStream(file);
      fileOut.write(inputStr.getBytes());
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
    String result = "";
    try {
      BufferedReader br = new BufferedReader(new FileReader(file));//構(gòu)造一個BufferedReader類來讀取文件
      String s = null;
      while ((s = br.readLine()) != null) {//使用readLine方法,一次讀一行
        result = result + s + " ";
      }
      br.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
    System.out.println("---------------------------------------------");
    System.out.println(result);
    String[] arr = result.split(" ");
    System.out.println(Arrays.toString(arr));
    System.out.println(arr.length);
    Map<String, Integer> map = new HashMap<>();
    for (String str : arr) {
      Integer num = map.get(str);
      map.put(str, num == null ? 1 : num + 1);
    }
    Set set = map.entrySet();
    Iterator it = set.iterator();
    System.out.println("---------------------------------------------");
    System.out.println("方法一 :");
    while (it.hasNext()) {
      Map.Entry<String, Integer> entry = (Map.Entry<String, Integer>) it.next();
      System.out.println("單詞 " + entry.getKey() + " 出現(xiàn)次數(shù) : " + entry.getValue());
    }
    System.out.println("---------------------------------------------");
    System.out.println("方法二 :");
    Iterator it01 = map.keySet().iterator();
    while (it01.hasNext()) {
      Object key = it01.next();
      System.out.println("單詞 " + key + " 出現(xiàn)次數(shù) : " + map.get(key));
    }
  }
}

輸出:

請輸入 :
AAA BBB CCC DDD DDD AAA
inputStr : AAA BBB CCC DDD DDD AAA
---------------------------------------------
AAA BBB CCC DDD DDD AAA
[AAA, BBB, CCC, DDD, DDD, AAA]
6
---------------------------------------------
方法一 :
單詞 AAA 出現(xiàn)次數(shù) : 2
單詞 CCC 出現(xiàn)次數(shù) : 1
單詞 BBB 出現(xiàn)次數(shù) : 1
單詞 DDD 出現(xiàn)次數(shù) : 2
---------------------------------------------
方法二 :
單詞 AAA 出現(xiàn)次數(shù) : 2
單詞 CCC 出現(xiàn)次數(shù) : 1
單詞 BBB 出現(xiàn)次數(shù) : 1
單詞 DDD 出現(xiàn)次數(shù) : 2

PS:這里再為大家推薦2款非常方便的統(tǒng)計工具供大家參考使用:

在線字?jǐn)?shù)統(tǒng)計工具:
http://tools.jb51.net/code/zishutongji

在線字符統(tǒng)計與編輯工具:
http://tools.jb51.net/code/char_tongji

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

  • Java中null的意義及其使用時的注意事項(xiàng)說明

    Java中null的意義及其使用時的注意事項(xiàng)說明

    這篇文章主要介紹了Java中null的意義及其使用時的注意事項(xiàng)說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • MyBatis-plus更新對象時將字段值更新為null的實(shí)現(xiàn)方式

    MyBatis-plus更新對象時將字段值更新為null的實(shí)現(xiàn)方式

    mybatis-plus在執(zhí)行更新操作,當(dāng)更新字段為 空字符串 或者 null 的則不會執(zhí)行更新,如果要將指定字段更新null,可以通過以下三種方式實(shí)現(xiàn),感興趣的小伙伴跟著小編一起來看看吧
    2023-10-10
  • Spring boot 跳轉(zhuǎn)到j(luò)sp頁面的實(shí)現(xiàn)方法

    Spring boot 跳轉(zhuǎn)到j(luò)sp頁面的實(shí)現(xiàn)方法

    本篇文章主要介紹了Spring boot 跳轉(zhuǎn)到j(luò)sp頁面的實(shí)現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • java.net.SocketException: Connection reset 解決方法

    java.net.SocketException: Connection reset 解決方法

    最近糾結(jié)致死的一個java報錯java.net.SocketException: Connection reset 終于得到解決
    2013-03-03
  • Java實(shí)現(xiàn)單鏈表SingleLinkedList增刪改查及反轉(zhuǎn) 逆序等

    Java實(shí)現(xiàn)單鏈表SingleLinkedList增刪改查及反轉(zhuǎn) 逆序等

    單鏈表是鏈表的其中一種基本結(jié)構(gòu)。一個最簡單的結(jié)點(diǎn)結(jié)構(gòu)如圖所示,它是構(gòu)成單鏈表的基本結(jié)點(diǎn)結(jié)構(gòu)。在結(jié)點(diǎn)中數(shù)據(jù)域用來存儲數(shù)據(jù)元素,指針域用于指向下一個具有相同結(jié)構(gòu)的結(jié)點(diǎn)。 因?yàn)橹挥幸粋€指針結(jié)點(diǎn),稱為單鏈表
    2021-10-10
  • java中表示一個文件的File類型詳解

    java中表示一個文件的File類型詳解

    Java提供File類,讓我們對文件進(jìn)行操作,下面這篇文章主要給大家介紹了關(guān)于java中表示一個文件的File類型的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • Java解析XML的四種方法詳解

    Java解析XML的四種方法詳解

    XML現(xiàn)在已經(jīng)成為一種通用的數(shù)據(jù)交換格式,平臺的無關(guān)性使得很多場合都需要用到XML。本文將詳細(xì)介紹用Java解析XML的四種方法
    2012-10-10
  • Java中覆蓋finalize()方法實(shí)例代碼

    Java中覆蓋finalize()方法實(shí)例代碼

    這篇文章主要介紹了Java中覆蓋finalize()方法實(shí)例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • Java遍歷Map的5種方式實(shí)例

    Java遍歷Map的5種方式實(shí)例

    Map作為Java中的一種集合,以鍵值對的形式存放一批數(shù)據(jù),經(jīng)常會被我們應(yīng)用在項(xiàng)目中,下面這篇文章主要給大家介紹了關(guān)于Java遍歷Map的5種方式,需要的朋友可以參考下
    2023-02-02
  • 深入淺析springboot中static和templates區(qū)別

    深入淺析springboot中static和templates區(qū)別

    這篇文章主要介紹了springboot中static和templates區(qū)別,本文通過圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02

最新評論