2016-07-09 19 views
-1

Jedes Mal, wenn der Benutzer eine Zeichenfolge eingibt, die '$' enthält, gibt der Code nur das '$' mit 2 Sternen vor und nach dem '$' zurück. In den meisten Testfällen läuft der Code gut, jedoch gibt er nach der Eingabe eines Strings mit mehr als $, zB Codehelp("r$t$$"), **$****$****$** (addiere zwei * am Anfang und am Ende des Strings) statt ****$**$** (ignoriere den ersten zwei *).Überlappung der Zeichenfolgen

Antwort

0

Gut wie Sie sagen, ich bekomme diese Ausgabe: **$****$****$**. Ich kann sicher sagen, dass dies sinnvoll ist, da es nur die aktuelle Instanz von $ überprüft und davor und danach ** hinzufügt. Wenn Sie möchten, dass es "intelligenter" ist, müssen Sie möglicherweise etwas implementieren, das nach vorne schauen könnte, um zu sehen, ob es nach dem aktuellen einen weiteren $ gibt.

Um jedoch **$$ (nicht sicher, dass es das ist, was Sie erwarten, bitte korrigieren Sie), müssen Sie den nächsten Index zu sehen, ob es eine andere $ (natürlich unter Berücksichtigung String Länge Grenzkontrollen auch in Betracht ziehen)) und nicht zusätzliche ** nach der zweiten $ hinzufügen.