zoukankan      html  css  js  c++  java
  • 输出《Harry Potter and the Sorcerer's Stone》文本中的前N个最长用的英文单词及其数量

    输出《Harry Potter and the Sorcerer's Stone》文本中的前N个最长用的英文单词及其数量

    实验思路:

    1. 利用输入流将文件当中内容读入。

    2. 将文件内容存入StringBuffer中;

    3. 利用String的split()方法将字符串分隔,并将其存入数组中;

    4. 遍历数组将其存入Map<String, Integer>中

    5. 利用Collections的sort()方法进行排序。

    6.输出打印。

    import java.io.*;
    import java.util.*;
    import java.util.Map.Entry;
    public class two 
    {
    	 public static int n=0;
         public static void main(String[] args) {
         Scanner input=new Scanner(System.in);
        
         int count=0;
         int num=1;
         String file1="Harry Potter and the Sorcerer's Stone.txt";
         try
         {
           BufferedReader a=new BufferedReader(new FileReader(file1));
           StringBuffer c=new StringBuffer();
           String s;
           while((s = a.readLine()) != null) 
           {
                 c.append(s);
           }
           String m=c.toString().toLowerCase();
           String [] d=m.split("[^a-zA-Z0-9]+");
           Map<String , Integer> myTreeMap=new  TreeMap<String, Integer>();
           for(int i = 0; i < d.length; i++) {
               
                 if(myTreeMap.containsKey(d[i])) {
                     count = myTreeMap.get(d[i]);
                     myTreeMap.put(d[i], count + 1);
                 }
                 else {
                     myTreeMap.put(d[i], 1);
                 }
             } 
           List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(myTreeMap.entrySet());
         //按降序排序
           Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
               
                 public int compare(Entry<String, Integer> k1, Entry<String, Integer> k2) {
                     return k2.getValue().compareTo(k1.getValue());
                 }
                 
             });
            System.out.println("请输入N的值:");
             n=input.nextInt();
           for(Map.Entry<String, Integer> map : list) {
                 if(num <= n) {
            
                     System.out.println(map.getKey() + ":" + map.getValue());
                     num++;
                 }
                 else break;
             }
             a.close();
         }
         catch(FileNotFoundException e)
         {
            
         }
         catch(IOException e)
         {
            
         }
     }
     }
    

      

  • 相关阅读:
    pikachu靶场-File Inclusion(文件包含漏洞)
    pikachu靶场-RCE(远程代码、命令执行漏洞)
    pikachu靶场-Sql Inject(SQL 注入)
    pikachu靶场-CSRF
    pikachu靶场-XSS
    pikachu靶场-暴力破解
    OSPF 高级配置
    OSPF 多区域配置
    动态路由 RIP
    Linux PXE + Kickstart 自动装机
  • 原文地址:https://www.cnblogs.com/zwx655/p/11806321.html
Copyright © 2011-2022 走看看