2016-06-22 8 views
0

私は有名人の名前を記入しなければならないゲームに取り組んでいます。名前が100%正確であるがほぼ正しい場合、比較は成功するはずです。 Javaや他の誰かがこれまでに書いたことがあるので、私はそれを使うことができます。 https://en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Levenshtein_distance#Javaエラーマージンを使ってJavaの2つの文字列を比較する方法

それとも、あなたは/それがどのように機能するかを理解する必要がしたくない場合は、あなたが得ることができます:あなたがここにいくつかのJava実装を見つけることができます

+1

"ファジー"はあなたが探している言葉です。 – Fildor

+0

あなたはそれを手紙で比較して、実際に何が得られたのかをユーザーがどれだけ多く得たかを確認することができます。 – Okx

+0

これはあまりにも幅広い質問かもしれません。「名前が100%正確ではないがほぼ正しい」というあなたの閾値を定義してください。 – Enzokie

答えて

0

あなたが探していることはレーベンシュタインalgortithm

です直接のApacheのStringUtilsからスコア:getLevenshteinDistance

そして、あなたは類似の割合を取得したい場合は、あなたが行うことができます:

int lev = StringUtils.getLevenshteinDistance(s1, s2); 
double ratio = ((double) lev)/(Math.max(s1.length, s2.length)); 
関連する問題