经过学习 因为仓促 代码还不能完成
1 package 英语单词统计; 2 import java.io.BufferedReader; 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 import java.util.Scanner; 6 import java.math.BigDecimal; 7 import java.util.StringTokenizer; 8 import java.io.File; 9 import java.io.FileNotFoundException; 10 import java.io.FileReader; 11 /*import java.io.File; 12 import java.io.FileNotFoundException; 13 import java.io.FileReader; 14 */ 15 class Word 16 { 17 String value;//具体单词 18 int num;//出现的个数 19 Word next; 20 public Word(String value,int geshu) 21 { 22 this.value=value; 23 this.num=num; 24 next=null; 25 } 26 public Word() //空函数 27 { 28 this.value=""; 29 this.num=0; 30 next=null; 31 } 32 } 33 public class E_T { 34 35 public static void main(String[] args)throws IOException//扔掉很重要 36 { 37 System.out.println("本次将统计《哈利波特》的字数");//1,输入三个文本2,重点学习文本文档的进入和读取3,重点学习文本文档的输出 38 Word word=new Word();//制造一个链表头 39 Word lian,xin; 40 String str=""; 41 42 FileReader file=new FileReader("E:\\eclipse-workspace\\2.0\\src\\英语单词统计\\Harry Potter.txt");//读取英文文件 43 char[] c=new char[1]; 44 int b=0; 45 boolean exist=false; 46 while((b=file.read(c))!=-1)//读取到最后一个 47 {//空格 换号 逗号 句号 引号 48 if(String.valueOf(c).equals("\r")||String.valueOf(c).equals("\n")||String.valueOf(c).equals(",")||String.valueOf(c).equals(".")||String.valueOf(c).equals(":")) 49 { 50 lian=word; 51 while(lian!=null)//链表不为空 52 { 53 if(lian.value.equalsIgnoreCase(str))//单词在单词链中存在++ 54 { 55 lian.num++;exist=true;break; 56 } 57 else 58 { 59 lian=lian.next; 60 } 61 } 62 if(exist==false) 63 { 64 xin=new Word(str,1); 65 xin.next=word.next; 66 word.next=xin; 67 str=""; 68 } 69 else 70 { 71 exist=false; 72 str=""; 73 } 74 } 75 else 76 { 77 str+=String.valueOf(c); 78 79 } 80 } 81 for(int i=1;i<=10;i++) 82 { 83 xin=new Word("",0); 84 lian=word.next; 85 while(lian!=null) 86 { 87 if(lian.num>xin.num) 88 { 89 xin=lian; 90 } 91 lian=lian.next; 92 } 93 System.out.println("第"+i+"个:"+xin.value+"个数:"+xin.num); 94 lian=word; 95 while(lian.next!=null) 96 { 97 if(lian.next.value.equalsIgnoreCase(xin.value)) 98 { 99 lian.next=lian.next; 100 break; 101 } 102 lian=lian.next; 103 } 104 } 105 106 } 107 }