Programmieren?

2 Antworten

In der äußeren Schleife (for-Schleife) iterierst Du über die Eingabe.

charFound soll wahrscheinlich anzeigen, ob das Zeichen, bei dem Du in der Eingabe gerade stehst, in der Zeichenmenge, die entfernt werden soll, enthalten ist oder nicht.

Dann musst Du charFound allerdings innerhalb der äußeren Schleife (also jedes Mal, wenn Du ein Zeichen weiter rückst) wieder auf false setzen, sonst bleibt es ja auf true, sobald ein Zeichen gefunden wurde und Du eliminierst den gesamten restlichen Text.

Es reicht auch, charFound innerhalb der äußeren Schleife überhaupt zu deklarieren, da Du es außerhalb nicht benötigst. Wenn Du es innerhalb der äußeren Schleife deklarierst, brauchst Du es auch nicht "zurücksetzen", sondern kannst es einfach vor der inneren Schleife deklarieren und mit "= false;" initialisieren.

(Außerdem hast Du ein Leerzeichen zu wenig beim "Eingabetext:"-Prompt, sodass die Eingabe von "Eingabetext:" und "Eliminatortext:" in der Konsole nicht beim selben Zeichen beginnen wird und Du hast bei "Eingabetext" aus irgendeinem Grund "Text" groß geschrieben, sodass Dein Programm nicht exakt die gewünschte Benutzerschnittstelle erzeugen wird.)


kfsdhjegzt 
Beitragsersteller
 16.01.2021, 17:18

Kannst du genau so sagen wo mein Fehler ist weil ich habe es nicht gefunden und kannst du bitte auch den richtigen Code schreiben also mein Fehler ist korrigieren

1
NoHumanBeing  16.01.2021, 17:20
@kfsdhjegzt

Ich habe doch beschrieben, was Du falsch gemacht hast. Du musst die Deklaration und Initialisierung der Variablen charFound ins Innere der For-Schleife verlegen, also dorthin, wo Du auch die Variablen charFromInputString, etc. deklarierst und initialisierst.

0

Deine Version verändert den Eingabe string überhaupt nicht. Das wird wohl das Hauptproblem sein.
Und, wie schon gesagt wurde, deine charFound Variable wird, beim ersten Treffer wahr ... und danach nie wieder Falsch, ergo bekommst du danach alles als vermeindlichen Treffer angezeigt.

Übrigens hatte ich diese Frage schon einmal:
https://www.gutefrage.net/frage/programmieren-34#answer-382162054

Woher ich das weiß:Berufserfahrung – Senior-Softwaredeveloper mit 20 Jahren Berufserfahrung.