Suche, wenn-String unterscheidet sich von einem Zeichen

Ich bin versucht zu bestimmen, wenn ein Wort eingegeben wird, unterscheidet sich von einem Zeichen in einer text-Datei. Ich habe code, der funktioniert, aber leider nur für Wörter, die zwei Zeichen oder weniger, die offensichtlich nicht sehr nützlich, und der code selbst sieht ein bisschen chaotisch. Hier ist, was ich habe, so weit:

if(random.length() == word.length()){
  for(int i = 0; i < random.length(); i++){
    if( (word.charAt(i) == random.charAt(i))){
      str += word+"\n"; 
      count++;
    }
  }
 }  

Mit random wird das Wort, das durch den Benutzer eingegeben werden, und word wird das Wort zu suchen, in der text-Datei.

Wenn ich änderte meine zweite if - Anweisung, um etwas entlang der Linien von

if( (word.charAt(i) == random.charAt(i)) && (word.charAt(i -1) == random.charAt(i-1)))

und wenn ich int i werden = 1 statt, ich scheine zu bekommen, mehr von dem, was ich bin auf der Suche zu erreichen, aber dann ist mein code sucht nur, wenn die ersten beiden Buchstaben sind die gleichen, und nicht, wenn die letzten beiden sind so gut, die sollte es tun.

  • Also, was genau Fragen Sie?
  • Ein Wort gegeben, die von einem Benutzer, in diesem Fall random ich bin versucht, suchen eine text-Datei, die eine große Menge von Wörtern und zu sehen, ob die Worte in diesem text-Datei unterscheiden sich durch nur ein Zeichen von random. Zum Beispiel; der Tag ist ähnlich wie Wörter : sagen, ray, dam, dab etc...
  • Was meinst du mit one changed character? Eine deletion, eine insertion oder nur Bearbeiten?
  • nur ein Charakter bearbeitet. Word würde immer noch die gleiche Länge wie random so dass keine deletion oder insertion, aber es könnte sich von jedem singulären Charakter Wert.
  • Ich mag diese Linie str += word+"\n";. Es sieht so nützlich, wenn der String in word so oft wie der seine Länge kombiniert in einem einzigen String.
InformationsquelleAutor user180708 | 2014-11-28
Schreibe einen Kommentar