1.先將文字檔案中的內容追加到bufferstring型別的變數中,然後將bufferstring轉換為string型別,因為string類有乙個方法,可以將乙個串中某個字元,全部用指定字元(比如空格)來代替(string.replace(「a」,「b」);),然後遇到空格就計數。轉換後計算是很簡單的,但是轉換非空格的情況好像還挺多的。
2.是從乙個string串中或者char[ ]陣列中進行單詞的計數,和這道題目就是差乙個從檔案中讀取,我們先假設我們已經從檔案中讀取成功了,只需要乙個字元乙個字元的判斷,這樣題目就一樣了。
其中有乙個思路,是先設定乙個標誌flag=0,用來看是不是遇到空格,如果遇到了空格,標誌flag=0;如果遇到的不是空格並且標誌flag=0,那麼就計數,並且把標誌flag=1。如果所判斷的內容只有字母加空格,這個絕對完美。
我的思路其實和第二種很相近,唯一不同的區別是,判斷乙個字元是不是字母,如果是第一次遇到字母就計數,其他情況不計數。我們來看以下**:
int count =0;
filereader f =
newfilereader
("x.txt");
int x = f.
read()
;while
(x!=-1
)//讀取文字檔案內容,沒有結束就進入迴圈
}else
x = f.
read()
;}f.
close()
; system.out.
println
("\n該文字檔案中單詞個數是 "
+count)
;public
static
boolean
function
(int x)
//判斷乙個字元是不是字母
乙個簡單的執行截圖
寫這篇部落格有點小愧疚,你寫部落格就寫你的部落格吧,還說別人思路的小缺點,先表達一下歉意吧,也希望前輩不要放在心上,不與我這個小白計較。如果我有錯誤,也希望你們多多指正啊。
關於乙個文字檔案中的單詞統計和排序問題
題目是 寫乙個程式,分析乙個文字檔案中各個單詞出現的頻率,並且把頻率最高的10個詞列印出來。看到題目後,我首先在紙上把需要實現的功能和需要涉及到的知識寫出來,需要實現的功能是讀取文字檔案,記錄各個單詞出現的次數,利用排序將前十個單詞輸出。涉及的知識是文字檔案的開啟以及讀寫操作,排序演算法等。我一開始...
統計給定文字檔案中漢字的個數
漢字機內碼在計算機的表達方式的描述是,使用二個位元組,每個位元組最高位一位為1.計算機中,補碼第一位是符號位,1 表示為負數,所以 漢字機內碼的每個位元組表示的十進位制數都是負數 所以這題也就可以簡化為輸入字串判斷其中字元轉化為十進位制數是否小於零.注意 漢字是有兩個小於零的字元組成,所以在統計結果...
在乙個文字檔案中的單詞統計頻率並列印前十個
單詞結構體 struct word 這是統計單詞部分,用的是fgetc函式對文字進行讀取,因此沒有手動讀取過程,直接將txt放入指定目錄下就可以讀取,判斷是否讀完用了feof函式 void readfile struct word head 判斷是否是單詞 while feof fp ch fget...