From 780786165c69206d65449ab26b4515e6fd07c440 Mon Sep 17 00:00:00 2001 From: GT201621123050 <396102009@qq.com> Date: Sun, 7 Oct 2018 14:05:41 +0800 Subject: [PATCH 1/3] =?UTF-8?q?author:gaotian=20-=20yechongjunsong=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=AF=BB=E5=8F=96=E6=96=87=E4=BB=B6=E7=B1=BB?= =?UTF-8?q?=E3=80=82=E5=8A=9F=E8=83=BD=EF=BC=9A=E8=AF=BB=E5=8F=96=E6=96=87?= =?UTF-8?q?=E6=9C=AC=E8=BD=AC=E5=8F=98=E4=B8=BA=E5=AD=97=E7=AC=A6=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 201621123050/FileToStr.java | 34 ++++++ 201621123050/main.java | 27 +++++ 201621123050/wordcount.java | 187 ++++++++++++++++++++++++++++++++ 201621123050/wordcountTest.java | 34 ++++++ 4 files changed, 282 insertions(+) create mode 100644 201621123050/FileToStr.java create mode 100644 201621123050/main.java create mode 100644 201621123050/wordcount.java create mode 100644 201621123050/wordcountTest.java diff --git a/201621123050/FileToStr.java b/201621123050/FileToStr.java new file mode 100644 index 0000000..58728df --- /dev/null +++ b/201621123050/FileToStr.java @@ -0,0 +1,34 @@ +package test; + +import java.io.*; + +public class FileToStr { // 该类用于文件写入读取的处理 + + public String FileToString(String path) throws IOException { // 将文件转化为字符串 + File file = new File(path); + if (!file.exists() || file.isDirectory()) { + System.out.println("请输入正确文件名!"); + throw new FileNotFoundException(); + } + FileInputStream fis = new FileInputStream(file); + byte[] buf = new byte[1024]; + StringBuffer sb = new StringBuffer(); + while ((fis.read(buf)) != -1) { + sb.append(new String(buf)); + buf = new byte[1024];// 重新生成,避免和上次读取的数据重复 + } + fis.close(); + return sb.toString(); + } + + public void WriteToFile(String str) throws IOException { // 将最后结果写入文件 + File writename = new File("result.txt"); // 相对路径,如果没有则要建立一个新的文件 + writename.createNewFile(); // 创建新文件 + BufferedWriter out = new BufferedWriter(new FileWriter(writename)); + out.write(str); + + out.flush(); // 把缓存区内容压入文件 + out.close(); // 关闭文件 + } + +} diff --git a/201621123050/main.java b/201621123050/main.java new file mode 100644 index 0000000..34d05bd --- /dev/null +++ b/201621123050/main.java @@ -0,0 +1,27 @@ +package test; + +import test.FileToStr; +import test.wordcount; +import java.io.IOException; +import java.util.*; + +public class main { + public static void main(String[] args) throws IOException { + Scanner sc = new Scanner(System.in); + String file = sc.next(); + FileToStr fd = new FileToStr(); + String text = fd.FileToString(file); + String str = new String(); + wordcount wt = new wordcount(text); + wt.getCharacterCount(); // 字符、空格、制表、换行统计 + wt.getWordCount(); // 单词统计 + wt.getLineValidate(); // 有效行数统计 + str = "字符数=" + wt.charCount+"\n空格数=" + wt.blankCount+"\n水平字符数=" + wt.tabCount+"\n换行符数=" + + wt.enterCount+"\n均算字符数=" + wt.total+"\n行数=" + wt.lineCount+"\n单词数=" + wt.getWordCount()+"\n有效行数=" + wt.lineValidate; + + System.out.println(str); + + sc.close(); + + } +} diff --git a/201621123050/wordcount.java b/201621123050/wordcount.java new file mode 100644 index 0000000..457e209 --- /dev/null +++ b/201621123050/wordcount.java @@ -0,0 +1,187 @@ +package test; + +public class wordcount { + String text; + int charCount; // 字符统计 + int blankCount; // 空格统计 + int tabCount; // 水平字符Count + int enterCount; // 换行符Count + int total; // 均算字符统计 + int noCount; // 非字母数字统计 + int lineCount; // 行数统计 + int wordCount; // 单词统计 + int lineValidate; // 有效行数 + String[] word = new String[10000000]; + int[] wordRep = new int[10000000]; + + public int[] getWordRep() { // 单词按字典排序 + for (int i = 0; i < word.length - 1; i++) { + if (word[i].equals(null)) + break; + for (int j = i + 1; i < word.length; j++) { + if (word[j].equals(null)) + break; + if (word[i].equals(word[j])) + wordRep[i]++; + for (int k = j; k < word.length; k++) { + if (word[j].equals(null)) + break; + if (k == word.length) + continue; + word[k] = word[k + 1]; + } + } + } + return wordRep; + } + + public void setWordRep(int[] wordRep) { + this.wordRep = wordRep; + } + + public int getLineValidate() { // 有效行数统计 + String[] line = text.split("\n"); + char c = '\0'; + boolean flag = true; + for (int i = 0; i < line.length; i++) { + for (int j = 0; j < line[i].length(); j++) { + c = line[i].charAt(j); + if (c == ' ') { + flag = false; + } else { + flag = true; + break; + } + } + if (flag) + lineValidate++; + flag = true; + } + return lineValidate; + } + + public void setLineValidate(int lineValidate) { + this.lineValidate = lineValidate; + } + + public wordcount(String text) { + this.text = text; + } + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + public int getCharCount() { + return charCount; + } + + public void setCharCount(int charCount) { + this.charCount = charCount; + } + + public int getTabCount() { + return tabCount; + } + + public void setTabCount(int tabCount) { + this.tabCount = tabCount; + } + + public int getEnterCount() { + return enterCount; + } + + public void setEnterCount(int enterCount) { + this.enterCount = enterCount; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public int getBlankCount() { + return blankCount; + } + + public void setBlankCount(int blankCount) { + this.blankCount = blankCount; + } + + public int getNoCount() { + return noCount; + } + + public void setNoCount(int noCount) { + this.noCount = noCount; + } + + public int getLineCount() { + return lineCount; + } + + public void setLineCount(int lineCount) { + this.lineCount = lineCount; + } + + public void setWordCount(int wordCount) { + this.wordCount = wordCount; + } + + public void getCharacterCount() { // 字符、空格、制表、换行统计 + char c = '\0'; + for (int i = 0; i < text.length(); i++) { + c = text.charAt(i); + if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) { + charCount++; + } else if (c == ' ') { + blankCount++; + } else if (c == '\r') { + tabCount++; + } else if (c == '\n') { + enterCount++; + lineCount++; + } + } + total = charCount + blankCount + tabCount + enterCount; + } + + public int getWordCount() { // 单词统计 + char c = '\0'; + int j = 0; + word[0] = ""; + boolean flag = false; + for (int i = 0; i < text.length(); i++) { + c = text.charAt(i); + if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) { + word[j] = word[j] + c; + flag = true; + } else if (flag == true) { + j++; + flag = false; + } + } + return j; + } + + public void orderWord() { // 单词频数 + String temp; + for (int i = 0; i < word.length - 1; i++) { + for (int j = i; j < word.length; j++) { + if (word[i].compareTo(word[j]) > 0) { + temp = word[i]; + word[i] = word[j]; + word[j] = temp; + } + } + } + } +} \ No newline at end of file diff --git a/201621123050/wordcountTest.java b/201621123050/wordcountTest.java new file mode 100644 index 0000000..a3a5cfa --- /dev/null +++ b/201621123050/wordcountTest.java @@ -0,0 +1,34 @@ +package test; + +import static org.junit.Assert.*; + +import org.junit.Before; +import org.junit.Test; + +public class wordcountTest { + + @Before + public void setUp() throws Exception { + } + + @Test + public void testSetLineValidate() { + fail("Not yet implemented"); + } + + @Test + public void testGetCharacterCount() { + fail("Not yet implemented"); + } + + @Test + public void testGetWordCount() { + fail("Not yet implemented"); + } + + @Test + public void testOrderWord() { + fail("Not yet implemented"); + } + +} -- Gitee From a19c890af032ff305530b6eebf602128c75ea6bb Mon Sep 17 00:00:00 2001 From: GT201621123050 <396102009@qq.com> Date: Sun, 7 Oct 2018 14:10:13 +0800 Subject: [PATCH 2/3] =?UTF-8?q?author:gaotian=20-=20yechongjunsong=20?= =?UTF-8?q?=E8=A6=86=E7=9B=96=E7=AC=AC=E4=B8=80=E6=AC=A1=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 201621123050/test/.classpath | 7 +++ 201621123050/test/.project | 17 ++++++++ .../test/.settings/org.eclipse.jdt.core.prefs | 11 +++++ 201621123050/test/bin/test/FileToStr.class | Bin 0 -> 1767 bytes 201621123050/test/bin/test/main.class | Bin 0 -> 1834 bytes 201621123050/test/bin/test/wordcount.class | Bin 0 -> 4402 bytes .../test/bin/test/wordcountTest.class | Bin 0 -> 948 bytes .../{ => test/src/test}/FileToStr.java | 0 201621123050/{ => test/src/test}/main.java | 0 .../{ => test/src/test}/wordcount.java | 0 .../{ => test/src/test}/wordcountTest.java | 0 201621123050/test/tagore.txt | 41 ++++++++++++++++++ 12 files changed, 76 insertions(+) create mode 100644 201621123050/test/.classpath create mode 100644 201621123050/test/.project create mode 100644 201621123050/test/.settings/org.eclipse.jdt.core.prefs create mode 100644 201621123050/test/bin/test/FileToStr.class create mode 100644 201621123050/test/bin/test/main.class create mode 100644 201621123050/test/bin/test/wordcount.class create mode 100644 201621123050/test/bin/test/wordcountTest.class rename 201621123050/{ => test/src/test}/FileToStr.java (100%) rename 201621123050/{ => test/src/test}/main.java (100%) rename 201621123050/{ => test/src/test}/wordcount.java (100%) rename 201621123050/{ => test/src/test}/wordcountTest.java (100%) create mode 100644 201621123050/test/tagore.txt diff --git a/201621123050/test/.classpath b/201621123050/test/.classpath new file mode 100644 index 0000000..97f7210 --- /dev/null +++ b/201621123050/test/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/201621123050/test/.project b/201621123050/test/.project new file mode 100644 index 0000000..b0299db --- /dev/null +++ b/201621123050/test/.project @@ -0,0 +1,17 @@ + + + test + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/201621123050/test/.settings/org.eclipse.jdt.core.prefs b/201621123050/test/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/201621123050/test/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/201621123050/test/bin/test/FileToStr.class b/201621123050/test/bin/test/FileToStr.class new file mode 100644 index 0000000000000000000000000000000000000000..82b6f52e9b59f1d91c4183cf92c4210326a97090 GIT binary patch literal 1767 zcmZux-%}e^6#g!3*krp%Aq1Mz7Hex8AR$;06k4oMP!vKf2&P!;CTw77vKzA-OCNo3 zeCmud&N$OI9mny>pAX55>C|`s4Q=h4|A15d?k0s$m`v`yd+t5weBXD@y?;FU?E!#M ze5|5H;5pB9z2uygH&>ixucSf|IJ#|oVkGm1y_sCfY@1n6pzWe%Ti%pFYiwXuK$&qi zObx9F=?I`rpku+Z%~ZLNF-t2(CT|LKEjU>tziN~$`Q0!o-j?Mu!NUHmlLGoK1k2tO zI2T*k13_FgP7WM2323uBS+nR_j_s=G5(xWlmXn-c+TBsn%>++3WFie=^hoHv0+GW~ zt;!Qo9mml}^5%}^dc;lg*X71Z9jD~R5zD<|l_-!?x)Z|lctOSKeex~eaXqu3;|$Ky z+bL7YNSy@{UL`A!+)Se|8N@k(zQ;dRA3yl=;b-4H`r+HZzxnaeSD*h?t33ST?mzcG z)eys=ih(AEP5wHDBo(zNL*{K234xQ%gj0?;=alV@T}?E^5mGTC(A#`&-Y%9Km^37D zL2C4}KxacEqL%Va4y>wpMWDxb^&6#Lqv>)kXO=W}7h}J=Ukbm78pbgpgRSO`539+6^4GIXN}zA(n8pknlWNl64?Qn8W_8TT1`TBMj?21_ z;w>HXcv~Ro$%gm4tvhyTZz)B?+mfC9EKPz}a@2v>XSbTZE-Z3RHh6TOxk*%dwr0vX zftK}Y4sJ%^*n#j3UIOjQo{_z^XcYbHqv9G{Zmnc_ysI)@5NTe3lIfQ7-mtgh$<|!g z@quj3_AHg~%#?Xso>cMS(`vDV_4ww7ABtE0BXVqRg1TM9OT(m&rD7R_E5srFet)rb^42=$+I?A=e zuTB|8M7VCFrBFjSJybs3 zwE_(p+qDLYQ(4PDYh)cupgH52hBIvVHrwH5R880gfx1kUFil`gEU-O!F0)2Fq5z)@7TlNvG&*R}ivwxdnMjtw~tT`DMR zN}?S*1tLtnZIzfI-F#6Iw`EMFb+lj?=XaMtTXM^g&S4JfkhllCDG}G2A+1`IotqQU zaIZjpkoHNN^zev8#~vhj*(>n?k^-{oqTB`chNQtuR0P=ydf&$U0_k*gBB7zX!aD8w zInyh;N=Fw`oYsSs_*M**Qx_hVILHs%G;XQB3Bxx`W%+%T^N&b8ipS`}wG04}_v-Ca}f_ugB94V$R&)-=3{nxcjIC@CpEJw$ckqu+1wCnZd z*{^SX^+}jA2fipV8o*j^Me#V!G3?S8S66`yrK3?VNyXPv$@J9q2nSq_VXN{ue^`Nzw1*VY}iB_{c( zZWmZAXVFs�i8YYNJzplP~v z7*uT}3etzXqHkJ!jx^>uc7Q3c8>9pcSRg`wG$Co#$V$;y&^NZPjQB5sTc?%XKpb_n z%GCh+-a%FZ^=KfFM*5GEr-@<2c>-s+e-_a)x`1tE+?m;5!riAAv1hc5`v$tZO1Qr# zx`<9P_xHpW(KXs0E#p8>ZF_AA5AkwngxA9(i%5?)A1&jF_SzeGvV`N!r%HH+jnizL z361C3cp)@K*mx;4US{L9&@kA@1qM;DF&26z$SC1LPiz5hd#nVXZalrFK`-SA=%hg% zWh>D}`FBwEN!mY1JBKOvUNqx4)rCSU=IQ$z72cl|`8Re3+MQZe1#jR@!m2|VZ{clH vtq}`&2k(-OZTKGV;eFDt1K;2S+KUpyXShs%G2;0YSMXu*9v=}x1XuqDt~JtR literal 0 HcmV?d00001 diff --git a/201621123050/test/bin/test/wordcount.class b/201621123050/test/bin/test/wordcount.class new file mode 100644 index 0000000000000000000000000000000000000000..c15f29a56904ab0877b0b2095a81fbcdd4df2a63 GIT binary patch literal 4402 zcmZ`+Yj+#f72Q`FJuHuHMX?emlEHx{@uS$mgtWvDNK66-=VAOHcH+ikd2B0|B_qp8 zN};616lhCHU$kjfX&h+PuEmGaCWe)^`2p?f*M8_v>7sS_xigX#F6pVs> zm5 z_G>1-j;F|lxcV4BHd+VU24tnjL@yrWO2*F47ZzmaeiKoIDI<>K?kQdae4Wc!^Bhiw z5F>C}^B{0hNsEHL>1?{tUqyEb-*^OmykO!vyr@7^$Nl)_2iF)zefd=MqYu;F&cJPXNBXd>CCL1 zmjJnJ;tH`bh`sCtakU zbb)^IAn7MFm3}hK@VSRO#j%U`-GCb9ZU$#>`+JMH-hKy7iEg!ly*Cgn;s*(1y03^O znNDs^&pBewtd_0gxFvC+)0jS!>@VU_)dy|OGI9Tw=-eSg{oZU$caN<3m9x0M`Oh_< zN@&6L&FgE*9UHUjn~R)n`6E&K@d)oPXnSHrzLTRyS`$Z-7PZl$uc8V4wDEcD#VPt} zk}Fea#vJo;8V@s^_To*-zt1m!jYs(d+8qY)73}Am4>xgu%rVL1G7fU&>5*`u#_YB2M^^1d3?sh#TGUzy^-= zC8I635cbm_VS~5WT0q4Evb=$#>zn^>zJa>-i96^srtk9Bzh_o+8iL#>;lnv_5PT{n>S(koiDiB9YWZDymRSjg>6G+M%h*b@w zKp?Bz0FkmNKxRFG*wsL;dIFjE24YtOd5u6`-v)@(Ujee<2_#(&T>rmOeZNBxL@D&A+E zz0O+oWAxxBOvOKCvi%v)_0M7911#bf47B&y8~lpDo0^ms$6Pl*`fx+nDE4!BLsurB zu16&OzX&PSSZl^&dwe8oxfBO#Clk9Ag1k^hkWK#BD8n5pW&N{4SZ_@Z;VJyH(A8PWXA7QZ_%jvDJCW8943yk1OXqCiQf?UE!K^7 z&fI1R{fIr$$2fxDvPS=oskq4G@_SswAIQjUTJecy;jm*tnT6#t3t6{2s^<|b)$EII z&6YkXj$o-$vrMy!#B2A3g`n@2VhaBvBxyf~C87qTckFg-m3uQgl{Y_x?hljQLwdoP z7w(#xJ1V=!f4BkCbYD8g&n46y`w#Gc5b!Cj_!E1WKeHdaL%Z&>vXOeu9p~Cv+|#x? zo#3!*>!a+z-qxkr$5@e`(8pNn(N;U1;BEvqso2k6gg^EnhU$_KVYW7 AVE_OC literal 0 HcmV?d00001 diff --git a/201621123050/test/bin/test/wordcountTest.class b/201621123050/test/bin/test/wordcountTest.class new file mode 100644 index 0000000000000000000000000000000000000000..4084dd2fc35326a9800e7d2cb22b39b0997d45f3 GIT binary patch literal 948 zcmbV}O>fgc5Qg8)haF5x)1)c11)7#iDH6W)7KBtH;1abGDdD`ar|CwHH(GBB{47o& z4*URq6k;}5PJx_q@Xm*4o*BLK^Vjzu08a75M@gV*DYM~6ZQ@AJQ+vsgkBUHJB5!1v z$aEZDj3yLW0q=!Mm3=8tK7KkBsPuG90m`^jM-`sHW?!XrKA(=rT*^^G4DahmCPQhI zi}Pf~UaL%CyZ`^>u0S;-`+g=6y#5r?%qpE`KDGo}%YBMJ0=w^cXEmjv$`nsHOH*y- zqG>VQjKj&CcMf0Cl{UoqmK!=C>sB4gM8(qbo{hdPN}U4T8t!xLxwf6pWIJj)OK3`| zr8vMY_I>Pe&$8t#%gER|9^w(pawSzF&_3=jHy&7{(s9?R)^-cLCEL4}Mn;xQ&&kfX zJpX|&k*79X>cYfiT#_Xj=(&mLjao?i*U6r{SvUmWhHnda?D0+b^*IXJ3bxgguc&=t zr-UFc0&2L+e*I4Y+YOEc?s0P&o9tIOYM`0dx7a%5GyWV>{EMsK!ifU6&A3tlY3Gnr zMmUJq-1&wFOH#nK;GtD)-J*E~?eQA4Hq&-i(hk<3?J;eCC9Sgt?SN^Wm9#_Fp@gH~ Du_m9| literal 0 HcmV?d00001 diff --git a/201621123050/FileToStr.java b/201621123050/test/src/test/FileToStr.java similarity index 100% rename from 201621123050/FileToStr.java rename to 201621123050/test/src/test/FileToStr.java diff --git a/201621123050/main.java b/201621123050/test/src/test/main.java similarity index 100% rename from 201621123050/main.java rename to 201621123050/test/src/test/main.java diff --git a/201621123050/wordcount.java b/201621123050/test/src/test/wordcount.java similarity index 100% rename from 201621123050/wordcount.java rename to 201621123050/test/src/test/wordcount.java diff --git a/201621123050/wordcountTest.java b/201621123050/test/src/test/wordcountTest.java similarity index 100% rename from 201621123050/wordcountTest.java rename to 201621123050/test/src/test/wordcountTest.java diff --git a/201621123050/test/tagore.txt b/201621123050/test/tagore.txt new file mode 100644 index 0000000..26d9e2e --- /dev/null +++ b/201621123050/test/tagore.txt @@ -0,0 +1,41 @@ +The most distant way in the world +The most distant way in the world +is not the way from birth to the end. +it is when i sit near you +that you don't understand i love u. +The most distant way in the world +is not that you're not sure i love u. +It is when my love is bewildering the soul +but i can't speak it out. +The most distant way in the world +is not that i can't say i love u. +it is after looking into my heart +i can't change my love. +The most distant way in the world +is not that i'm loving u. +it is in our love +we are keeping between the distance +The most distant way in the world +is not the distance across us. +it is when we're breaking through the way +we deny the existance of love. +So the most distant way in the world +is not in two distant trees. +it is the same rooted branches +can't enjoy the co-existance. +So the most distant way in the world +is not in the being sepearated branches. +it is in the blinking stars +they can't burn the light. +So the most distant way in the world +is not the burning stars. +it is after the light +they can't be seen from afar. +So the most distant way in the world +is not the light that is fading away. +it is the coincidence of us +is not supposed for the love. +So the most distant way in the world +is the love between the fish and bird. +one is flying at the sky, +the other is looking upon into the sea \ No newline at end of file -- Gitee From b4e8da85c89b857de4ca2e90c02b8317e7e87164 Mon Sep 17 00:00:00 2001 From: GT201621123050 <396102009@qq.com> Date: Sun, 7 Oct 2018 16:33:44 +0800 Subject: [PATCH 3/3] =?UTF-8?q?author:gaotian=20=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E7=BB=99=E5=AE=9A=E8=AF=8D=E9=95=BF=E7=9A=84=E8=AF=8D=E9=A2=91?= =?UTF-8?q?=E5=B9=B6=E8=BE=93=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 201621123050/test/bin/test/main.class | Bin 1834 -> 1958 bytes 201621123050/test/bin/test/wordcount.class | Bin 4402 -> 6535 bytes 201621123050/test/result.txt | 8 +++ 201621123050/test/src/test/FileToStr.java | 2 +- 201621123050/test/src/test/main.java | 8 +-- 201621123050/test/src/test/wordcount.java | 54 +++++++++++++++++++++ 6 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 201621123050/test/result.txt diff --git a/201621123050/test/bin/test/main.class b/201621123050/test/bin/test/main.class index 24a258cabdf864fc12c970bee224f2275b881023..a9270864ddf4009b1cb0a96cf81c8427a7d04f39 100644 GIT binary patch delta 948 zcmYLISx-|@5dLntrRDa@YLy!Z2}E&$P)$fQMMObRXu$=fRB^dLDTUHvxh$em_m#Tj zh7jM>2aH<;ByFU|7hjB#2NUCy5Bk9JD~vOx#+NzgoB3wGnaMdX)2B0}FMk$30w~9$ zS*hP3rC|g1$f(3#y-h4AOG7F4$=Hu-0ixy^)dXZad(~mp=2rt=TeBAO1-um!4xrA2 zT76v1Ek1}H0!#xG(EI_3^6OGow$RP06k6ml5EQQ44CS-;4n&Cs8&x$EhJ1gB(xu`vRV%$Pmx46q#Io8)2Fm zBYK8tZ8$GujHxnHTUEcWOVvC){zVy=P{@4-*ETPq2w@qQdA$}_$ftQ)f^|MWk#lfW z#x?zw=qNOg1VdfCb^(U&E&-WN%`>RknAgH}D)g_>lVXZuC!2B?+ug1?R4Ar-R7Fvv zm?-a191eGOV+@DceI$yO?6xRQFbJPwbT)}P7QH*mZbk@)?S7vES10=Fdv?kEa0!tW~kYU9-6d)bN$bgMJc4VOn*{CI= z1MAUBjCT4V6WEB)bS@$n-=W|q^6(4!R0#BR6KlkE+#qDZ58T8p(Ax10w^2>fR(!=B ox}}iTC)~w7h}cq$IDa!3NqCL~s*y_a&k@0Wm?-@L6*J)BU$4sTUH||9 delta 828 zcmYL`=}!|;6vfX>_vy%1F;oqWMiUhjjZGv)Z~+md-~xhmK?WG0GE5O3ifhFUKS=yA zAtWXypb3e@rBs|oswVo;#6P2jze2sQ3^9}3%Ex69etuj`kacsFd!*@E#F8K=30)U7G{V9vvhvjPgGY+@<%<E>9(}(0`jEn)a%u`=hk>!ctJ)aXRGQ=T^r4fOWZc|YI5bn%(`tjQO)I7WOQ=5 zgTf-m5oI8eh)SwCSw@ajR~>TEnyU6E->S_SW| zZW({=O-54m1q6tFy#fltOdVwv^-)c2`WbJ#-L*+-US<6^eca+;fo|uoWhoH znTgWoG`2@l*wM1L+{Dh1J&oOjWg$lz5RAb>pVqVt1vQi(#+6rm17J}_)Vf>!sL_WX^cKd_mu z0S#+=!EM|j@*;)1xCdG%lDLmJMU`Ly4=_O+4B!nO(wUtiUg8nGIVk7_9^(m|bmu8K Hh?x8biy73Z diff --git a/201621123050/test/bin/test/wordcount.class b/201621123050/test/bin/test/wordcount.class index c15f29a56904ab0877b0b2095a81fbcdd4df2a63..277739305ae7855b0115224fa4fe9f550e7fd2d8 100644 GIT binary patch literal 6535 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 LiYXv_G$rkSw+cRU literal 4402 zcmZ`+Yj+#f72Q`FJuHuHMX?emlEHx{@uS$mgtWvDNK66-=VAOHcH+ikd2B0|B_qp8 zN};616lhCHU$kjfX&h+PuEmGaCWe)^`2p?f*M8_v>7sS_xigX#F6pVs> zm5 z_G>1-j;F|lxcV4BHd+VU24tnjL@yrWO2*F47ZzmaeiKoIDI<>K?kQdae4Wc!^Bhiw z5F>C}^B{0hNsEHL>1?{tUqyEb-*^OmykO!vyr@7^$Nl)_2iF)zefd=MqYu;F&cJPXNBXd>CCL1 zmjJnJ;tH`bh`sCtakU zbb)^IAn7MFm3}hK@VSRO#j%U`-GCb9ZU$#>`+JMH-hKy7iEg!ly*Cgn;s*(1y03^O znNDs^&pBewtd_0gxFvC+)0jS!>@VU_)dy|OGI9Tw=-eSg{oZU$caN<3m9x0M`Oh_< zN@&6L&FgE*9UHUjn~R)n`6E&K@d)oPXnSHrzLTRyS`$Z-7PZl$uc8V4wDEcD#VPt} zk}Fea#vJo;8V@s^_To*-zt1m!jYs(d+8qY)73}Am4>xgu%rVL1G7fU&>5*`u#_YB2M^^1d3?sh#TGUzy^-= zC8I635cbm_VS~5WT0q4Evb=$#>zn^>zJa>-i96^srtk9Bzh_o+8iL#>;lnv_5PT{n>S(koiDiB9YWZDymRSjg>6G+M%h*b@w zKp?Bz0FkmNKxRFG*wsL;dIFjE24YtOd5u6`-v)@(Ujee<2_#(&T>rmOeZNBxL@D&A+E zz0O+oWAxxBOvOKCvi%v)_0M7911#bf47B&y8~lpDo0^ms$6Pl*`fx+nDE4!BLsurB zu16&OzX&PSSZl^&dwe8oxfBO#Clk9Ag1k^hkWK#BD8n5pW&N{4SZ_@Z;VJyH(A8PWXA7QZ_%jvDJCW8943yk1OXqCiQf?UE!K^7 z&fI1R{fIr$$2fxDvPS=oskq4G@_SswAIQjUTJecy;jm*tnT6#t3t6{2s^<|b)$EII z&6YkXj$o-$vrMy!#B2A3g`n@2VhaBvBxyf~C87qTckFg-m3uQgl{Y_x?hljQLwdoP z7w(#xJ1V=!f4BkCbYD8g&n46y`w#Gc5b!Cj_!E1WKeHdaL%Z&>vXOeu9p~Cv+|#x? zo#3!*>!a+z-qxkr$5@e`(8pNn(N;U1;BEvqso2k6gg^EnhU$_KVYW7 AVE_OC diff --git a/201621123050/test/result.txt b/201621123050/test/result.txt new file mode 100644 index 0000000..08b2ac6 --- /dev/null +++ b/201621123050/test/result.txt @@ -0,0 +1,8 @@ +字符数=1027 +空格数=238 +水平字符数=40 +换行符数=40 +均算字符数=1345 +行数=40 +单词数=290 +有效行数=41 \ No newline at end of file diff --git a/201621123050/test/src/test/FileToStr.java b/201621123050/test/src/test/FileToStr.java index 58728df..0a69349 100644 --- a/201621123050/test/src/test/FileToStr.java +++ b/201621123050/test/src/test/FileToStr.java @@ -15,7 +15,7 @@ public class FileToStr { // StringBuffer sb = new StringBuffer(); while ((fis.read(buf)) != -1) { sb.append(new String(buf)); - buf = new byte[1024];// 重新生成,避免和上次读取的数据重复 + buf = new byte[1024];// } fis.close(); return sb.toString(); diff --git a/201621123050/test/src/test/main.java b/201621123050/test/src/test/main.java index 34d05bd..3df61b5 100644 --- a/201621123050/test/src/test/main.java +++ b/201621123050/test/src/test/main.java @@ -9,6 +9,7 @@ public class main { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); String file = sc.next(); + String wordLong = sc.next(); FileToStr fd = new FileToStr(); String text = fd.FileToString(file); String str = new String(); @@ -16,12 +17,13 @@ public class main { wt.getCharacterCount(); // 字符、空格、制表、换行统计 wt.getWordCount(); // 单词统计 wt.getLineValidate(); // 有效行数统计 + System.out.println(wt.text); + wt.countLong(file); str = "字符数=" + wt.charCount+"\n空格数=" + wt.blankCount+"\n水平字符数=" + wt.tabCount+"\n换行符数=" + wt.enterCount+"\n均算字符数=" + wt.total+"\n行数=" + wt.lineCount+"\n单词数=" + wt.getWordCount()+"\n有效行数=" + wt.lineValidate; - + fd.WriteToFile(str); System.out.println(str); - - sc.close(); + sc.close(); } } diff --git a/201621123050/test/src/test/wordcount.java b/201621123050/test/src/test/wordcount.java index 457e209..f0cda31 100644 --- a/201621123050/test/src/test/wordcount.java +++ b/201621123050/test/src/test/wordcount.java @@ -1,5 +1,15 @@ package test; +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.util.HashMap; +import java.util.Iterator; +import java.util.StringTokenizer; + +import org.junit.experimental.theories.Theories; + public class wordcount { String text; int charCount; // 字符统计 @@ -13,6 +23,8 @@ public class wordcount { int lineValidate; // 有效行数 String[] word = new String[10000000]; int[] wordRep = new int[10000000]; + int wordlong = 4; + HashMap hashMap = new HashMap(); public int[] getWordRep() { // 单词按字典排序 for (int i = 0; i < word.length - 1; i++) { @@ -184,4 +196,46 @@ public class wordcount { } } } + + + public void countLong(String path) { + + + + String regex = "[【】、.。,\"!--;:?\'\\]]"; + try { + //读取要处理的文件 + BufferedReader br=new BufferedReader(new FileReader("E:\\eclipse\\workspace\\test\\tagore.txt")); + String value; + while((value=br.readLine())!=null){ + value=value.replaceAll(regex, " "); + //使用StringTokenizer来分词 + StringTokenizer tokenizer = new StringTokenizer(value); + while(tokenizer.hasMoreTokens()){ + String word=tokenizer.nextToken(); + System.out.println(word.length()); + if(word.length()!=wordlong) { + continue; + } + if(!hashMap.containsKey(word)){ + hashMap.put(word, new Integer(1)); + }else{ + int k=hashMap.get(word).intValue()+1; + hashMap.put(word, new Integer(k)); + } + } + } + //遍历HashMap,输出结果 + Iterator iterator=hashMap.keySet().iterator(); + while(iterator.hasNext()){ + String word=(String) iterator.next(); + System.out.println(word+":\t"+hashMap.get(word)); + } + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } \ No newline at end of file -- Gitee