zoukankan      html  css  js  c++  java
  • 文件和流课堂实验三

    package test;
    import java.io.File;  
    import java.io.InputStreamReader;
    import java.util.Scanner;
    import java.util.StringTokenizer;
    import java.io.BufferedReader;  
    import java.io.BufferedWriter;  
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter; 
    public class readIO1 {
    	static int num=0,a=0;
    	static String word[]=new String[1000000];
    	static int wordnum[]=new int[1000000];
    	public static void main(String args[]) {
    		try{
    			String path = "C:\\Users\\lenovo\\Desktop\\Harry Potter and the Sorcerer's Stone.txt";
    		    File file = new File(path);	
    		    InputStreamReader reader = new InputStreamReader(new FileInputStream(file));
    		    BufferedReader br = new BufferedReader(new FileReader(file));
    		    File file2 = new File("Test1.txt");
    		    file2.createNewFile();
    		    BufferedWriter out = new BufferedWriter(new FileWriter(file2));
    			String s="";
    			s=br.readLine();
    			while(s!=null) {
    				s=s.toLowerCase();// 大写转小写
    				StringTokenizer st = new StringTokenizer(s," ".,?;!
    :“”‘: ");
    			   while(st.hasMoreElements()) {
    			   String str =(String)st.nextElement();
    		    	for(int j=0;j<num;j++) {
    		    		if(str.equals(word[j])) {
    		    			wordnum[j]++;
    		    			}else a++;
    		    		}
    		    	if(a==num) {
    		    		word[num]=str;
    				    wordnum[num]++;
    				    num++;
    				    }
    		    	a=0;
    		    	}
    			   s=br.readLine();
    			}
    			for(int i=0;i<num;i++) {
    				for(int j=i+1;j<num;j++) {
    					if(wordnum[j]>wordnum[i]) {
    						int temp=wordnum[i];
    						wordnum[i]=wordnum[j];
    						wordnum[j]=temp;
    						String Temp=word[i];
    						word[i]=word[j];
    						word[j]=Temp;
    					}
    				}
    			}
    			for(int i=0;i<num;i++) {
    				System.out.println(word[i]+" "+wordnum[i]);
    			}
    			for(int i=0;i<word.length;i++) {
    				out.write(i+":"+word[i]+" ");
    				out.flush();	
    			}
    			out.close();
    		    }catch(Exception e){
    		    	e.printStackTrace();
    		    	}
    	}
    	
    }
    

      实验截图:

     实验三是在实验二基础上设定一个全局变量只要单词不相同就存入数组之中其值加一,将输出的循环次数变为设定的那个值即可。

  • 相关阅读:
    TOJ 2710: 过河 路径压缩
    树状数组模板
    TOJ 2017: N-Credible Mazes
    TOJ 4804: 树网的核
    Codeforces Round #440 (Div. 2, based on Technocup 2018 Elimination Round 2)
    Codeforces Round #441 (Div. 2, by Moscow Team Olympiad)
    TOJ 2541: Paper Cutting
    CODE FESTIVAL 2017 qual B
    hiho[Offer收割]编程练习赛30
    Codeforces Round #437 (Div. 2, based on MemSQL Start[c]UP 3.0
  • 原文地址:https://www.cnblogs.com/yangxionghao/p/11801272.html
Copyright © 2011-2022 走看看