Algoritmo

Ola pessoal,
Uma duvída de algoritimo para implementar em java, verificar quais ações são necessárias para o valor1 se igual ao valor2
Supondo que eu recebo 2 informações:

String valor1 = “pera”
String valor2 = “pereira”

Substituir a letra “a” pelo “e”
Adcionar a letra “i”
Adcionar a letra “r”
Adcionar a letra “a”

Concuindo : Foram realizados 4 ações.

Estava fazendo dessa forma

If( valor1.lengh() == valor2.lengh() ){

///aki naum entendi como vou ter q fazer, tenho que percorrer cada String do valor1 e comparar com o valor do String valor2?

}

vlw galera

E no código Java como poderia fazer isso?
sou iniciante :oops:

O algoritmo que você procura está aqui:

Uma implementação desse algoritmo pode ser baixada na biblioteca Jakarta Commons Lang ( http://commons.apache.org/lang/ )

cujo javadoc está aqui:

org.apache.commons.lang.StringUtils.getLevenshteinDistance

Se vira!

Tentei me virar e não conseguir.
Alguem poderia me ajudar?
A minha dúvida seria como percorrer e comparar
Obrigado

Vlw Thingol!!!
resolvido

int LevenshteinDistance(char s[1…m], char t[1…n])
// d is a table with m+1 rows and n+1 columns
declare int d[0…m, 0…n]

for i from 0 to m
d[i, 0] := i
for j from 0 to n
d[0, j] := j

for j from 1 to n
for i from 1 to m {
if s[i] = t[j] then
cost := 0
else
cost := 1
d[i, j] := minimum(
d[i-1, j] + 1, // insertion
d[i, j-1] + 1, // deletion
d[i-1, j-1] + cost // substitution
)
}

return d[m, n]