十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
import?java.io.Reader;

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),棗陽企業(yè)網(wǎng)站建設(shè),棗陽品牌網(wǎng)站建設(shè),網(wǎng)站定制,棗陽網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,棗陽網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
import?java.io.StringReader;
import?org.apache.lucene.analysis.*;
import?org.apache.lucene.analysis.cjk.CJKAnalyzer;
import?org.apache.lucene.analysis點(diǎn)吸煙 .ChineseAnalyzer;
import?org.apache.lucene.analysis.standard.StandardAnalyzer;
import?org.mira.lucene.analysis.MIK_CAnalyzer;
public?class?JeAnalyzer?{
public?static?void?testStandard(String?testString)?{
try?{
Analyzer?analyzer?=?new?StandardAnalyzer();
Reader?r?=?new?StringReader(testString);
StopFilter?sf?=?(StopFilter)?analyzer.tokenStream("",?r);
System.err.println("=====standard?analyzer====");
Token?t;
while?((t?=?sf.next())?!=?null)?{
System.out.println(t.termText());
}
}?catch?(Exception?e)?{
e.printStackTrace();
}
}
public?static?void?testCJK(String?testString)?{
try?{
Analyzer?analyzer?=?new?CJKAnalyzer();
Reader?r?=?new?StringReader(testString);
StopFilter?sf?=?(StopFilter)?analyzer.tokenStream("",?r);
System.err.println("=====cjk?analyzer====");
Token?t;
while?((t?=?sf.next())?!=?null)?{
System.out.println(t.termText());
}
}?catch?(Exception?e)?{
e.printStackTrace();
}
}
public?static?void?testChiniese(String?testString)?{
try?{
Analyzer?analyzer?=?new?ChineseAnalyzer();
Reader?r?=?new?StringReader(testString);
TokenFilter?tf?=?(TokenFilter)?analyzer.tokenStream("",?r);
System.err.println("=====chinese?analyzer====");
Token?t;
while?((t?=?tf.next())?!=?null)?{
System.out.println(t.termText());
}
}?catch?(Exception?e)?{
e.printStackTrace();
}
}
public?static?String?transJe(String?testString,?String?c1,?String?c2)?{
String?result?=?"";
try?{
Analyzer?analyzer?=?new?MIK_CAnalyzer();
Reader?r?=?new?StringReader(testString);
TokenStream?ts?=?(TokenStream)?analyzer.tokenStream("",?r);
Token?t;
while?((t?=?ts.next())?!=?null)?{
result?+=?t.termText()?+?",";
}
}?catch?(Exception?e)?{
e.printStackTrace();
}
return?result;
}
public?static?void?main(String[]?args)?{
try?{
String?testString?=?"中文分詞的方法其實(shí)不局限于中文應(yīng)用,也被應(yīng)用到英文處理,如手寫識(shí)別,單詞之間的空格就很清楚,中文分詞方法可以幫助判別英文單詞的邊界";
System.out.println("測(cè)試的語句????"+testString);
String?sResult[]?=?transJe(testString,?"gb2312",?"utf-8").split(",");
for?(int?i?=?0;?i??sResult.length;?i++)?{
System.out.println(sResult[i]);
}
}?catch?(Exception?e)?{
e.printStackTrace();
}
}
}
jar包??
lucene-analyzers-2.4.1.jar
lucene-core-2.4.1.jar
IKAnalyzer2.0.2OBF.jar
現(xiàn)可以提供兩種思路:
1.String或是StringBuffer(建議用) 中的indexOf("中華")方法,查找給定的的字符串中是否有給定詞表中的詞。
2.借鑒編譯原理中的狀態(tài)裝換的思想。
先編寫一個(gè)狀態(tài)機(jī),用于測(cè)試給定字符串中的詞是否滿足詞表中的內(nèi)容。
寫在最后:1)建議使用第一種方法,因?yàn)樵趈ava 內(nèi)部實(shí)現(xiàn)的查找操作其實(shí) 和你想得思路是相同的,不過他的效率會(huì)高些。
2)如果個(gè)人的編程能力比較強(qiáng)或是不考慮效率只是想實(shí)現(xiàn)專有的分詞算法。可以使用第二種方法。
3)以上的兩種方法都可以使用多線程來提高程序的效率。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Danci {
public static void main(String[] args){
String str = new String();
System.out.print("請(qǐng)輸入一個(gè)英文句子:");
try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//獲取鍵盤輸入
str = br.readLine();
}catch(IOException e){
e.printStackTrace();
}
String []s = str.split(" ");//轉(zhuǎn)換成數(shù)組
System.out.println("你輸入的句子共有單詞 "+s.length+" 個(gè)");//s.length獲取數(shù)組長(zhǎng)度
}
}
//此程序只能獲取一句話的單詞個(gè)數(shù).