第十一周进度总结

所花时间:1天+1下午+1晚上

代码行:500(其中有一些代码是由冗余,可以简化)

博客量:2篇

了解到知识点 :

文本读出,并且规划为单词,很重要!

遇到的难题是短语的分析,近期的想法是使用无用词,以及除了空格分隔单词的标点符号,来进行标记,同时看出文本单词总数,也是十分的重要。

  1 package txt读入;
  2
  3 import java.io.BufferedReader;
  4 import java.io.File;
  5 import java.io.FileInputStream;
  6 import java.io.FileReader;
  7 import java.io.IOException;
  8 import java.io.InputStreamReader;
  9 import java.util.Scanner;
 10
 11
 12 public class Sum {
 13 public static void main(String[] args) {
 14     System.out.println("请输入您想完成的功能:");
 15     int i=0;
 16 for(int n=1;n<10;n++)
 17     {System.out.println("1:统计字母;2:统计单词;3:指定单词;4:短语");
 18
 19     Scanner scan=new Scanner(System.in);
 20     i=scan.nextInt();
 21     if(i==1)
 22     {
 23         Zimu();
 24     }
 25     if(i==2)
 26     {
 27         try {
 28             Quan();
 29         } catch (IOException e) {
 30             // TODO Auto-generated catch block
 31             e.printStackTrace();
 32         }
 33     }
 34     if(i==3)
 35     {
 36         try {
 37             Danci();
 38         } catch (IOException e) {
 39             // TODO Auto-generated catch block
 40             e.printStackTrace();
 41         }
 42     }
 43     if(i==4)
 44     {
 45         try {
 46             Daunyu();
 47         } catch (IOException e) {
 48             // TODO Auto-generated catch block
 49             e.printStackTrace();
 50         }
 51     }
 52 System.out.println("是否退出 退出0,不退出-其他");
 53 n=scan.nextInt();
 54 if(n==0)
 55 {
 56     break;
 57 }
 58     }
 59 }
 60 static void Zimu()
 61 {
 62      try {
 63          char shu[] = new char[1000];
 64          char zimu[] = new char[52];
 65          int j=0;
 66          int count[]=new int[52];
 67          String pathname="E:\\578095023\\FileRecv\\软件工程\\课堂测试\\读入txt\\1.txt";
 68          File filename=new File(pathname);
 69          InputStreamReader reader=new InputStreamReader(new FileInputStream(filename));
 70          BufferedReader br=new BufferedReader(reader);
 71          String line[]=new String[100];;
 72          for(int i=0;i<line.length;i++){
 73          line[i]=br.readLine();
 74          }
 75          br.close();
 76          int k=0;
 77           while(line[k]!=null) {
 78               for(int i=0;i<line[k].length();i++) {
 79                    shu[j]=line[k].charAt(i);
 80                    j++;
 81               }
 82               k++;
 83          }
 84          for(int i=0;i<shu.length;i++) {
 85               switch(shu[i]) {
 86               case ‘a‘:zimu[0]=‘a‘;count[0]++;break;
 87               case ‘b‘:zimu[1]=‘b‘;count[1]++;break;
 88               case ‘c‘:zimu[2]=‘c‘;count[2]++;break;
 89               case ‘d‘:zimu[3]=‘d‘;count[3]++;break;
 90               case ‘e‘:zimu[4]=‘e‘;count[4]++;break;
 91               case ‘f‘:zimu[5]=‘f‘;count[5]++;break;
 92               case ‘g‘:zimu[6]=‘g‘;count[6]++;break;
 93               case ‘h‘:zimu[7]=‘h‘;count[7]++;break;
 94               case ‘i‘:zimu[8]=‘i‘;count[8]++;break;
 95               case ‘j‘:zimu[9]=‘j‘;count[9]++;break;
 96               case ‘k‘:zimu[10]=‘k‘;count[10]++;break;
 97               case ‘l‘:zimu[11]=‘l‘;count[11]++;break;
 98               case ‘m‘:zimu[12]=‘m‘;count[12]++;break;
 99               case ‘n‘:zimu[13]=‘n‘;count[13]++;break;
100               case ‘o‘:zimu[14]=‘o‘;count[14]++;break;
101               case ‘p‘:zimu[15]=‘p‘;count[15]++;break;
102               case ‘q‘:zimu[16]=‘q‘;count[16]++;break;
103               case ‘r‘:zimu[17]=‘r‘;count[17]++;break;
104               case ‘s‘:zimu[18]=‘s‘;count[18]++;break;
105               case ‘t‘:zimu[19]=‘t‘;count[19]++;break;
106               case ‘u‘:zimu[20]=‘u‘;count[20]++;break;
107               case ‘v‘:zimu[21]=‘v‘;count[21]++;break;
108               case ‘w‘:zimu[22]=‘w‘;count[22]++;break;
109               case ‘x‘:zimu[23]=‘x‘;count[23]++;break;
110               case ‘y‘:zimu[24]=‘y‘;count[24]++;break;
111               case ‘z‘:zimu[25]=‘z‘;count[25]++;break;
112               case ‘A‘:zimu[26]=‘A‘;count[26]++;break;
113               case ‘B‘:zimu[27]=‘B‘;count[27]++;break;
114               case ‘C‘:zimu[28]=‘C‘;count[28]++;break;
115               case ‘D‘:zimu[29]=‘D‘;count[29]++;break;
116               case ‘E‘:zimu[30]=‘E‘;count[30]++;break;
117               case ‘F‘:zimu[31]=‘F‘;count[31]++;break;
118               case ‘G‘:zimu[32]=‘G‘;count[32]++;break;
119               case ‘H‘:zimu[33]=‘H‘;count[33]++;break;
120               case ‘I‘:zimu[34]=‘I‘;count[34]++;break;
121               case ‘J‘:zimu[35]=‘G‘;count[35]++;break;
122               case ‘K‘:zimu[36]=‘K‘;count[36]++;break;
123               case ‘L‘:zimu[37]=‘L‘;count[37]++;break;
124               case ‘M‘:zimu[38]=‘M‘;count[38]++;break;
125               case ‘N‘:zimu[39]=‘N‘;count[39]++;break;
126               case ‘O‘:zimu[40]=‘O‘;count[40]++;break;
127               case ‘P‘:zimu[41]=‘P‘;count[41]++;break;
128               case ‘Q‘:zimu[42]=‘Q‘;count[42]++;break;
129               case ‘R‘:zimu[43]=‘R‘;count[43]++;break;
130               case ‘S‘:zimu[44]=‘S‘;count[44]++;break;
131               case ‘T‘:zimu[45]=‘T‘;count[45]++;break;
132               case ‘U‘:zimu[46]=‘U‘;count[46]++;break;
133               case ‘V‘:zimu[47]=‘V‘;count[47]++;break;
134               case ‘W‘:zimu[48]=‘W‘;count[48]++;break;
135               case ‘X‘:zimu[49]=‘X‘;count[49]++;break;
136               case ‘Y‘:zimu[50]=‘Y‘;count[50]++;break;
137               case ‘Z‘:zimu[51]=‘Z‘;count[51]++;
138               }
139          }
140          int ci=0;
141          int sum=0;
142          System.out.println("短文中各字母出现情况统计如下:");
143          for(int i=0;i<52;i++)
144          {
145              if(count[i]!=0) {
146                  ci++;
147                  sum+=count[i];
148                  System.out.println(ci+".字母"+zimu[i]+"的出现次数是:"+count[i]);
149                  }
150          }
151          System.out.println("字母共计:"+sum+"个");
152      }catch (Exception e) {
153          e.printStackTrace();
154      }
155 }
156 static void Quan()throws IOException
157 {
158       Word word=new Word();                                      //单词的链头
159         Word lian,xin;
160         String str="";
161         FileReader f=new FileReader("E:\\578095023\\FileRecv\\软件工程\\课堂测试\\读入txt\\1.txt");                //读取英文文件
162         char[] c=new char[1];                                 //每次读取一个字母
163         int b=0;
164         boolean exist=false;                              //判断单词是否存在于  word 链中
165         while((b=f.read(c))!=-1)                              //每次读取一个字母直到最后
166         {
167             //如果字符为  换行、空格、单引号、双引号、逗号、句号  则为一个单词的结束及另一个单词的开始
168             if(String.valueOf(c).equals("\r")||String.valueOf(c).equals("\n")||String.valueOf(c).equals(" ")||String.valueOf(c).equals(",")||String.valueOf(c).equals(".")||String.valueOf(c).equals("\"")||String.valueOf(c).equals("‘"))
169             {
170                 lian=word;
171                 while(lian!=null)
172                 {
173                     if(lian.value.equalsIgnoreCase(str))           //如果单词在单词链中存在,则单词个数++
174                     {
175                         lian.geshu++;exist=true;break;
176                     }
177                     else
178                     {
179                         lian=lian.next;
180                     }
181                 }
182                 if(exist==false)                        //如果不存在,则在单词链中添加
183                 {
184                     xin=new Word(str,1);
185                     xin.next=word.next;
186                     word.next=xin;
187                     str="";
188                 }
189                 else
190                 {
191                     exist=false;
192                     str="";
193                 }
194             }
195             else                                      //单词
196             {
197                 str+=String.valueOf(c);
198             }
199         }
200         int N=20;
201         for(int i=1;i<=N;i++)
202         {
203             xin=new Word("",0);
204             lian=word.next;
205             //找到单词链中个数最多的
206             while(lian!=null)
207             {
208                 if(lian.geshu>xin.geshu)
209                 {
210                     xin=lian;
211                 }
212                 lian=lian.next;
213             }
214             //输出单词链中个数最多的
215             System.out.println("第"+i+"个 :"+xin.value+"个数:"+xin.geshu);
216             lian=word;
217             //删除单词链中单词个数最多的
218             while(lian.next!=null)
219             {
220                 if(lian.next.value.equalsIgnoreCase(xin.value))
221                 {
222                     lian.next=lian.next.next;
223                     break;
224                 }
225                 lian=lian.next;
226             }
227         }
228     }
229 static void Daunyu()throws IOException
230 {
231      Word word=new Word();                                      //单词的链头
232         Word lian,xin;
233         String str="";
234         FileReader f=new FileReader("E:\\578095023\\FileRecv\\软件工程\\课堂测试\\读入txt\\飘英文版.txt");                //读取英文文件
235         char[] c=new char[1];                                 //每次读取一个字母
236         int b=0;
237         boolean exist=false;                              //判断单词是否存在于  word 链中
238         while((b=f.read(c))!=-1)                              //每次读取一个字母直到最后
239         {
240             //如果字符为  换行、空格、单引号、双引号、逗号、句号  则为一个单词的结束及另一个单词的开始
241             if(String.valueOf(c).equals(" ")||String.valueOf(c).equals("\r")||String.valueOf(c).equals("\n")||String.valueOf(c).equals(",")||String.valueOf(c).equals(".")||String.valueOf(c).equals("\"")||String.valueOf(c).equals("‘"))
242             {
243
244                 lian=word;
245                 while(lian!=null)
246                 {
247
248                     if(lian.value.equalsIgnoreCase(str))           //如果单词在单词链中存在,则单词个数++
249                     {
250                         lian.geshu++;exist=true;break;
251                     }
252                     else
253                     {
254                         if(str.equals("a")||str.equals("the")||str.equals("and"))
255                         {
256                             break;
257                         }
258                         lian=lian.next;
259                     }
260
261                 }
262
263                 if(exist==false)                        //如果不存在,则在单词链中添加
264                 {
265                     xin=new Word(str,1);
266                     xin.next=word.next;
267                     word.next=xin;
268                     str="";
269                 }
270                 else
271                 {
272                     exist=false;
273                     str="";
274                 }
275             }
276             else                                      //单词
277             {
278                 str+=String.valueOf(c);
279             }
280         }
281
282
283         //   循环10次
284         System.out.println("请输入您想查询的前几个出现此处最多的单词");
285         Scanner scan=new Scanner(System.in);
286         int N=scan.nextInt();
287         for(int i=1;i<=N;i++)
288         {
289             xin=new Word("",0);
290             lian=word.next;
291             //找到单词链中个数最多的
292             while(lian!=null)
293             {
294                 if(lian.geshu>xin.geshu)
295                 {
296                     xin=lian;
297                 }
298                 lian=lian.next;
299             }
300             //输出单词链中个数最多的
301             System.out.println("第"+i+"个 :"+xin.value+"个数:"+xin.geshu);
302             lian=word;
303             //删除单词链中单词个数最多的
304             while(lian.next!=null)
305             {
306                 if(lian.next.value.equalsIgnoreCase(xin.value))
307                 {
308                     lian.next=lian.next.next;
309                     break;
310                 }
311                 lian=lian.next;
312             }
313         }
314     }
315 static void add()throws IOException
316 {
317     System.out.println("");
318 }
319 static void Danci()throws IOException
320 {
321     Word word=new Word();                                      //单词的链头
322     Word lian,xin;
323     String str="";
324     FileReader f=new FileReader("E:\\578095023\\FileRecv\\软件工程\\课堂测试\\读入txt\\飘英文版.txt");                //读取英文文件
325     char[] c=new char[1];                                 //每次读取一个字母
326     int b=0;
327     boolean exist=false;                              //判断单词是否存在于  word 链中
328     Word word1=new Word();
329     Word lian1,xin1;
330     String str1="";
331     FileReader f1=new FileReader("E:\\578095023\\FileRecv\\软件工程\\课堂测试\\读入txt\\stopwords.txt");
332     char[] c1=new char[1];
333     int b1=0;
334     boolean exist1=false;
335     //stopwords文本
336      while((b1=f1.read(c1))!=-1)                              //每次读取一个字母直到最后
337         {
338             //如果字符为  换行、空格、单引号、双引号、逗号、句号  则为一个单词的结束及另一个单词的开始
339             if(String.valueOf(c1).equals("\r")||String.valueOf(c1).equals("\n")||String.valueOf(c1).equals(" ")||String.valueOf(c1).equals(",")||String.valueOf(c1).equals(".")||String.valueOf(c1).equals("\"")||String.valueOf(c1).equals("‘"))
340             {
341
342                 lian1=word1;
343                 while(lian1!=null)
344                 {
345
346                     if(lian1.value.equalsIgnoreCase(str1))           //如果单词在单词链中存在,则单词个数++
347                     {
348                         lian1.geshu++;exist1=true;break;
349                     }
350                     else
351                     {
352                         lian1=lian1.next;
353                     }
354
355                 }
356
357                 if(exist1==false)                        //如果不存在,则在单词链中添加
358                 {
359                     xin1=new Word(str1,1);
360                     xin1.next=word1.next;
361                     word1.next=xin1;
362                     str1="";
363                 }
364                 else
365                 {
366                     exist1=false;
367                     str1="";
368                 }
369             }
370             else                                      //单词
371             {
372                 str1+=String.valueOf(c1);
373             }
374         }
375      while(true)
376      {
377          xin1=new Word("",0);
378             lian1=word1.next;
379             //找到单词链中个数最多的
380             while(lian1!=null)
381             {
382                System.out.println(lian1.value);
383                 lian1=lian1.next;
384             }
385          if(lian1==null)
386          {
387              break;
388          }
389      }
390      //飘文本
391     while((b=f.read(c))!=-1)                              //每次读取一个字母直到最后
392     {
393         //如果字符为  换行、空格、单引号、双引号、逗号、句号  则为一个单词的结束及另一个单词的开始
394         if(String.valueOf(c).equals("\r")||String.valueOf(c).equals("\n")||String.valueOf(c).equals(" ")||String.valueOf(c).equals(",")||String.valueOf(c).equals(".")||String.valueOf(c).equals("\"")||String.valueOf(c).equals("‘"))
395         {
396
397             lian=word;
398             while(lian!=null)
399             {
400
401                 if(lian.value.equalsIgnoreCase(str))           //如果单词在单词链中存在,则单词个数++
402                 {
403                     lian.geshu++;exist=true;break;
404                 }
405                 else
406                 {
407                     if(str.equals("a")||str.equals("the")||str.equals("and"))
408                     {
409                         break;
410                     }
411                     lian=lian.next;
412                 }
413
414             }
415
416             if(exist==false)                        //如果不存在,则在单词链中添加
417             {
418                 xin=new Word(str,1);
419                 xin.next=word.next;
420                 word.next=xin;
421                 str="";
422             }
423             else
424             {
425                 exist=false;
426                 str="";
427             }
428         }
429         else                                      //单词
430         {
431             str+=String.valueOf(c);
432         }
433     }
434
435
436     //   循环10次
437     System.out.println("请输入您想查询的前几个出现此处最多的单词");
438     Scanner scan=new Scanner(System.in);
439     int N=scan.nextInt();
440     for(int i=1;i<=N;i++)
441     {
442         xin=new Word("",0);
443         lian=word.next;
444         //找到单词链中个数最多的
445         while(lian!=null)
446         {
447             if(lian.geshu>xin.geshu)
448             {
449                 xin=lian;
450             }
451             lian=lian.next;
452         }
453         //输出单词链中个数最多的
454         System.out.println("第"+i+"个 :"+xin.value+"个数:"+xin.geshu);
455         lian=word;
456         //删除单词链中单词个数最多的
457         while(lian.next!=null)
458         {
459             if(lian.next.value.equalsIgnoreCase(xin.value))
460             {
461                 lian.next=lian.next.next;
462                 break;
463             }
464             lian=lian.next;
465         }
466     }
467 }
468
469 }

原文地址:https://www.cnblogs.com/smartisn/p/10851189.html

时间: 2024-07-29 12:16:24

第十一周进度总结的相关文章

第十一周进度条

第十一周学习进度条   星期一 星期二 星期三 星期四 星期五 星期六 星期日 所花时间 (包括上课) 无 上午8:00-9:50 晚上7:00-11:30 下午3:00-11:30 晚上7:00-1:30 无 早上8:00-晚上2:00 代码量(行) 0行 900行 2000行 2000行 0行 4000行 博客量(篇) 0篇 1篇 0篇 0行 0篇 2篇 了解到的知识点 无 上完课后一直在想业务用例的问题,但是还是没有很是想明白1.业务用例的最大的好处是什么,待地该怎样设计用例 下课后就一直

第十一周进度总结报告

学习时长 30h 代码量 1000 博客数量 7篇 学习内容 Android不同页面间的数据传递等 原文地址:https://www.cnblogs.com/liyuchao/p/10849937.html

第十一周PSP&amp;进度条

PSP 一.表格: D日期     C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 11月24号 站立会议 分配任务&设计final方案 13:00 13:30 0 30 30   编写 bug修正报告 14:35 15:14 0 39 40 11月25号 站立会议 继续完成没完成任务 13:00 13:30 0 30 30   编码 新亮点 14:45 18:23 21 207 180   数据 数据收集整理 19:21 20:48 13  

第十一周学习进度

  第十一周学习进度 学习时间 10 博客量 2 代码量 300 学习到的知识点 软件测试的重要性与内容,安卓程序的编写 总结:通过这周的学习,我明白了软件测试的重要性,以前一直觉得软件测试是打酱油的事,并不重要.

第十一周学习进度条

第十一周 星 期 一 星期二 星期三 星期四 星期五 星期六 所花时间 8:00-9:50 (上课时间) 17:30-18:40 (阅读UML大战需求分析) 10:20-11:30写征集系统大作业 20:20-21:10 (分析征集系统用例) 15:30-17:00 写征集系统大作业 19:30-11:30 写征集系统大作业 代码量 50 博客量 1 了解到的知识点 1.用例描述的三个要点:内容.好处.度量. 2.业务用例描述的步骤:识别执行者.识别业务用例.写出业务用例. 3.执行者:边界之外

第十一周学习进度情况

  第十一周 所花时间(包括上课) 5 代码量(行) 300+ 博客量 1 了解到的知识 1.测试方法 2.测试矩阵

第十一周学习进度(补)

  第十一周 所花时间 20h 代码行 5500行 博客量 5篇 了解到的知识点 主要是大作业(掌上作业)的页面编辑,也在网上 的一些例子里学会了网页设计.

20145216史婧瑶《信息安全系统设计基础》第十一周学习总结

20145216史婧瑶<信息安全系统设计基础>第十一周学习总结 教材内容总结 第八章 异常控制流 平滑:指在存储器中指令都是相邻的. 突变:出现不相邻,通常由诸如跳转.调用.和返回等指令造成. 异常控制流ECF:即这些突变. 关于ECF: 1.ECF是操作系统用来实现I/O.进程和虚拟存器的基本机制 2.应用程序通过使用一个叫做陷阱或者系统调用的ECF形式,向操作系统请求服务 3.ECF是计算机系统中实现并发的基本机制 4.软件异常机制--C++和Java有try,catch,和throw,C

第十周、第十一周学习总结

第十周.第十一周学习总结 ——王林 学科 WEB 数据结构 计算机网络基础 进度 第15章的后半部分.第十六章 第六章后半部分 项目5 主要内容 第十周首先主要学习了JavaScript的内置对象.其次第十一周为详细学习JS的字符串对象.数值处理对象.数组对象等,JS的综合运用实例以及JS对象编程与事件处理. 两周内,进行了对钱一周树的学习——树的定义.基本术语.树的双亲.孩子.兄弟表示法及实现.二叉树等. 两周内,计算机网络基础主要学习了路由器的相关概述,包括了解路由协议到配置路由器的动手实践