第三周作业

package java第三周学习;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Scanner;

import java第一周学习2.Account;

public class 统计单词 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		LinkedList<单词> ci=new LinkedList<单词>();
        getWord(ci);
        setWord(ci);
        Word(ci);
         for(int i=0;i<ci.size();i++)
         {
        	 System.out.printf(ci.get(i).getWord()+"    ");
     		System.out.println(ci.get(i).getSum());
         }
        
	}
	// 排序
	public static void Word(LinkedList<单词> acc)
	{
		LinkedList<单词> ci1=new LinkedList<单词>();
		LinkedList<单词> ci2=new LinkedList<单词>();
		单词 a=new 单词();
		ci1=acc;
		int  max=acc.get(0).getSum();
		int jmax=0;
	     int 	i=ci1.size();
		while(ci1.size()>=2)
		{
			
			for(int j=0;j<acc.size();j++)
			{
				if(acc.get(j).getSum()>max)
				{
					max=acc.get(j).getSum();
					jmax=j;
				}
			}
			a=acc.get(jmax);
			ci2.add(a);
			ci1.remove(i-1);
			i--;
	}
		}
		
	//写进信息
	public static void setWord(LinkedList<单词> acc)
	{
		try
		{
			int i=0;
			FileWriter fw=new FileWriter("E:\\新建文件夹 (3)\\src\\java第三周学习\\单词记录.txt");
			PrintWriter pw=new PrintWriter(fw);
			for(i=0;i<acc.size();i++)
			{
			
				pw.println(acc.get(i).getWord()+" "+acc.get(i).getSum());
			}
			pw.flush();
			pw.close();
			fw.close();
		}
		catch(Exception e)
		{
			System.out.println("文件写入失败");
		}
	}
	//寻找出现最多的那个单词
	public static void getWordmax(LinkedList<单词> acc)
	{
		int  max=acc.get(0).getSum();
		int imax=0;
		for(int i=1;i<acc.size();i++)
		{
			if(acc.get(i).getSum()>max)
			{
				max=acc.get(i).getSum();
				imax=i;
			}
		}
		System.out.printf(acc.get(imax).getWord()+"    ");
		System.out.println(acc.get(imax).getSum());
	}
	// 获得单词
	public static void getWord(LinkedList<单词> acc)
	{

		try {
			FileReader fr = new FileReader("E:\\新建文件夹 (3)\\src\\java第三周学习\\单词.txt");
			Scanner r = new Scanner(fr);
			while (r.hasNext()) {
				int flag = 0;//0为没有重复新建一个单词   1为重复不做操作
				String word;
				word = r.next().replaceAll("\\p{P}", "");
				for (int i = 0; i < acc.size(); i++) {
                       
					if(word.equals(acc.get(i).getWord()))
					{
			        	acc.get(i).addsum();
						flag=1;
					}
				}
				if(flag==0)
				{
				单词 a = new 单词();
				a.setWord(word);
				acc.add(a);
				a.addsum();
				}
			}
			fr.close();
			r.close();
		} catch (Exception e) {
			System.out.println("文件写入失败");
		}
	}
	
}

  

posted @ 2018-10-11 22:03  Abandoned_Software  阅读(137)  评论(0编辑  收藏  举报