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("文件写入失败");
}
}
}