• 【作业】飘-字母统计


    突发奇想 利用ASCII的值的连续性,直接对应数组0-25序号

     1 package piao;
     2 
     3 import java.io.FileReader;
     4 import java.util.Scanner;
     5 
     6 public class piao {
     7 
     8     public static void main(String[] args) 
     9     {
    10         double []list=new double[26];
    11         int []c=new int[26];
    12         for(int k=0;k<26;k++)
    13         {
    14             list[k]=0;
    15         }
    16         for(int k=0;k<26;k++)
    17         {
    18             c[k]=k+65;
    19         }
    20         String line="";
    21         int a=0;
    22         int b=0;
    23         int s=0;
    24         try
    25         {
    26             FileReader fr=new FileReader("piao.txt");
    27             Scanner in =new Scanner(fr);
    28             while(in.hasNext())
    29             {
    30             line=in.nextLine();
    31             //System.out.println(line);
    32             for(int i=0;i<line.length();i++)
    33             {
    34                 a=line.charAt(i);
    35                 
    36                 if (a>=65&&a<=90)
    37                 {
    38                     b=a-65;
    39                 }
    40                 if(a>=97&&a<=122)
    41                 {
    42                     b=a-97;
    43                 }
    44                 //System.out.println(b);
    45                 list[b]+=1;
    46                 s++;
    47             }
    48             }
    49             
    50             for(int t=0;t<26;t++)
    51             {
    52                 list[t]=list[t]/s;
    53                 
    54                 //System.out.println(list[t]);
    55             }
    56             int t,k;
    57             double d;
    58             int e;
    59             for(t=0;t<25;t++)
    60             {
    61                 for(k=0;k<25-t;k++)
    62                 {
    63                     if(list[k]<list[k+1])
    64                     {
    65                         d=list[k+1];
    66                         list[k+1]=list[k];
    67                         list[k]=d;
    68                         
    69                         e=c[k+1];
    70                         c[k+1]=c[k];
    71                         c[k]=e;
    72                     }
    73                 }
    74             }
    75             
    76             for(t=0;t<26;t++)
    77             {
    78                 System.out.print((char)(c[t])+"  ");
    79                 System.out.println(String.format("%.2f", list[t]*100)+"%");
    80             }
    81         }
    82         catch(Exception e)
    83         {
    84             
    85         }
    86     }
    87 
    88 }
  • 相关阅读:
    python网络编程,requests模块
    python操作excel
    python加密模块hashlib
    python操作redis
    python操作mysql
    python常用模块3(os和sys模块)
    python打开网站
    python常用模块2
    python模块简介
    mac下开发——环境心得(杂项,持续性更新)
  • 原文地址:https://www.cnblogs.com/CCRNRT/p/11070487.html
Copyright © 2020-2023  润新知