java文件如何统计字母出现的次数和百分比

这篇文章主要介绍了java文件如何统计字母出现的次数和百分比,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

主要是文件的读写。先在代码中导入文件。一行一行的进行数据的读入,通过“ ”空格对读入的信息进行分割,存入到数组里之后对于每一个单词的每一个字母进行区分存入相应的字母数组里。最后统计总的字母个数。应用于百分比。

package com.keshangone;
import java.io.File;
import java.util.Scanner;
import java.io.FileNotFoundException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class shouzimu {

  public static <type> void main (String[] args) throws FileNotFoundException {
    File file=new File("D:\\新建文件夹 (6)\\wen.txt");
    if(!file.exists()){
      System.out.println("文件打开错误");
      return;
    } 

    int []num=new int[100];
    char []zimu=new char[100];
    char a='A';char b='a';
    for(int i=1;i<=52;i++)
    {
      if(i<=26)
        zimu[i]=a++;
      else
        zimu[i]=b++;
    }

    Scanner scanner=new Scanner(file);
    HashMap<String,Integer> hashMap=new HashMap<String,Integer>();
    while(scanner.hasNextLine()) {
      String line=scanner.nextLine();
      String[] lineWords=line.split(" ");     //    £  DZ ע ͵
      for(int i=0;i<lineWords.length;i++) {

        for(int j=0;j<lineWords[i].length();j++)
        {
          if(lineWords[i].charAt(j)>='A'&&lineWords[i].charAt(j)<='Z')
            num[lineWords[i].charAt(j)-'A'+1]++;
          else if(lineWords[i].charAt(j)>='a'&&lineWords[i].charAt(j)<='z')
            num[lineWords[i].charAt(j)-'a'+1+24]++;
        }
      }
    }
    int sum=0;
    for(int i=1;i<=52;i++)
    {
      sum+=num[i];
    }
    for(int i=1;i<=52;i++)
    {
      for(int j=i+1;j<=52;j++)
      {
        if(num[i]<num[j])
        {
          int t=num[i];
          num[i]=num[j];
          num[j]=t;

          char s=zimu[i];
          zimu[i]=zimu[j];
          zimu[j]=s;
        }
      }
    }
    System.out.println(sum);
    for(int i=1;i<=52;i++)
    {
      double ans=num[i]*1.0/sum;
      System.out.print(zimu[i]+":"+num[i]+"  ");
      String wen=String.format("%.2f", ans*100);
      System.out.println(wen+" %");
    }
}
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • JAVA 统计字符串中中文,英文,数字,空格,特殊字符的个数

    引言 可以根据各种字符在Unicode字符编码表中的区间来进行判断,如数字为'0'~'9'之间,英文字母为'a'~'z'或'A'~'Z'等,Java判断一个字符串是否有中文是利用Unicode编码来判断,因为中文的编码区间为:0x4e00--0x9fbb, 但通用区间来判断中文也不非常精确,因为有些中文的标点符号利用区间判断会得到错误的结果.所以通过Character.UnicodeBlock来进行判断.代码如下: package cn.csrc.base.count; public class

  • Java编程实现统计数组中各元素出现次数的方法

    本文实例讲述了Java编程实现统计数组中各元素出现次数的方法.分享给大家供大家参考,具体如下: package javatest; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class NumOfEle { public static void main(String[] ar

  • java统计文件中每个字符出现的个数

    本文实例为大家分享了java统计文件中字符个数的具体代码,供大家参考,具体内容如下 package com.zhu.io; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.Map; import java.util.Set; import java.util.TreeMap; public clas

  • Java简单统计字符串中汉字,英文字母及数字数量的方法

    本文实例讲述了Java简单统计字符串中汉字,英文字母及数字数量的方法.分享给大家供大家参考,具体如下: package org.zhy.demo.algorithm; /** * 有一个字符串,其中包含中文字符.英文字符和数字字符,请统计和打印出各个字符的个数 * * @author Administrator * */ public class Str { public static void main(String[] args) { String str = "adasfAAADFD阿萨德

  • java字符串遍历以及统计字符串中各类字符

    本文实例为大家分享了java字符串遍历,以及java统计字符串中各类字符的具体代码,供大家参考,具体内容如下 1.需求:获取字符串中的每一个字符 分析: A:如何能够拿到每一个字符呢?   char charAt(int index) B:我怎么知道字符到底有多少个呢? int length() public class StringTest { public static void main(String[] args) { // 定义字符串 String s = "helloworld&qu

  • Java编程实现统计一个字符串中各个字符出现次数的方法

    本文实例讲述了Java编程实现统计一个字符串中各个字符出现次数的方法.分享给大家供大家参考,具体如下: import java.util.Iterator; import java.util.Set; import java.util.TreeMap; public class TreeMapDemo { //统计一个字符串中相应字符出现的次数 public static void main(String[] args) { // System.out.println("我们测试结果:"

  • 使用java实现各种数据统计图(柱形图,饼图,折线图)

    最近在做数据挖掘的课程设计,需要将数据分析的结果很直观的展现给用户,这就要用到数据统计图,要实现这个功能就需要几个第三方包了: 1.       jfreechart-1.0.13.jar 2.       jcommon-1.0.16.jar 3.       gnujaxp.jar 先来看一下,最终效果图: 主要是jfreechart-1.0.13.jar,但这三个包要齐全,我已经将所有与jfreechart有关的jar包与本文实例的工程(代码)一同压缩上传了,有兴趣的同学可以下载, 下载地

  • java实现统计字符串中大写字母,小写字母及数字出现次数的方法示例

    本文实例讲述了java实现统计字符串中大写字母,小写字母及数字出现次数的方法.分享给大家供大家参考,具体如下: public class TestSubstring { public static void main(String[] args) { getCount("adsJKJ3K21AfaAD134F13241d134134s141faAAFDF"); } //统计字符串中,大写字母,小写字母,数字出现的次数 public static void getCount(String

  • java文件如何统计字母出现的次数和百分比

    这篇文章主要介绍了java文件如何统计字母出现的次数和百分比,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 主要是文件的读写.先在代码中导入文件.一行一行的进行数据的读入,通过" "空格对读入的信息进行分割,存入到数组里之后对于每一个单词的每一个字母进行区分存入相应的字母数组里.最后统计总的字母个数.应用于百分比. package com.keshangone; import java.io.File; import java.uti

  • Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法

    本文实例讲述了Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法.分享给大家供大家参考,具体如下: 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.IOEx

  • 利用Python3实现统计大量单词中各字母出现的次数和频率的方法

    首先以只读方式打开单词文件,利用列表推导式创建两个列表 列表sta记录各单词出现的次数,列表freq记录各单词出现的频率 f = open('5500词.txt','r',encoding='utf-8') sta = [0 for i in range(26)] freq = [0 for i in range(26)] 单词格式如下所示: a [ei] art.一(个):每一(个):(同类事物中)任一个 abandon [ə'bændən] vt.离弃,丢弃:遗弃,抛弃:放弃 abdomen

  • java实现的统计字符算法示例

    本文实例讲述了java实现的统计字符算法.分享给大家供大家参考,具体如下: 统计字符: 概述:给定字符串,将它们进行分类,分别的去统计它们的个数及其字符 分类的有:字母 数字 中文 空格 等等 算法思路分析: 分别统计即可: 下面给出代码:(代码仅供参考) package javastudy; public class Testit6 { public static void main(String[] args) { String str = "...天2气 :[1] aA"; //

  • Python统计单词出现的次数

    题目: 统计一个文件中每个单词出现的次数,列出出现频率最多的5个单词. 前言: 这道题在实际应用场景中使用比较广泛,比如统计历年来四六级考试中出现的高频词汇,记得李笑来就利用他的编程技能出版过一本背单词的畅销书,就是根据词频来记单词,深受学生喜欢.这就是一个把编程技能用来解决实际问题的典型场景.另外,在数据分析时,那些词云效果本质上都是基于词频统计来调整字体的大小,如果你能熟练运用Python中的知识来解决问题的话,说明你真的入门Python了. 分析 本题主要考察以下几个方面的知识点: 1.如

  • JavaScript实现的冒泡排序法及统计相邻数交换次数示例

    本文实例讲述了JavaScript实现的冒泡排序法及统计相邻数交换次数.分享给大家供大家参考,具体如下: <html> <head>JS冒泡排序</head> <body> <script> var arr=[-1,-2,-30,-4,-5,-6]; var flag=false; //判断相邻两个数是否交换过 var n=0; //计算交换次数 for(var i=0;i<arr.length-1;i++){ //i表示的是每次找出来的最

  • Oracle Translate 统计字符出现的次数示例代码

    特殊用法:统计字符串中 E 出现的次数: SELECT LENGTHB(TRANSLATE('ABCDEFGEFGDBE','E'||'ABCDEFGEFGDBE','E')) FROM DUAL; 等同于: SELECT LENGTHB('ABCDEFGEFGDBE')-LENGTHB(REPLACE('ABCDEFGEFGDBE','E','')) FROM DUAL; Translate 的用法 一.语法: TRANSLATE(string,from_str,to_str) 二.目的 返回

  • JS使用单链表统计英语单词出现次数

    本文实例为大家分享了JS 列出所有单词及其出现次数的实现代码,JS统计英语单词出现次数,可以调用LinkedList 类的方法orderInsert(), 以字母大小的顺序储存 英文字符串,同时记录英文单词出现的次数,供大家参考,具体内容如下 <html> <head> <title>Linked List</title> <meta charset="utf-8"> </head> <body> &l

随机推荐