In der 2. Schleife hat sich ein Fehler eingeschlichen for(int j = 0; i < Eliminatortext.Length; j++)
dort wird in der Abbruchbedingung mit i verglichen und nicht mit j.
Außerdem würde die 2. Schleife in dem Beispiel 3x ausgeführt werden, da du eine if-Bedingung verwendest würde das aktuelle Zeichen des Eingabetextes 3x ausgegeben werden, wenn alle Vergleiche zutreffen, z.B.
j = 0 | 1. H != l -> Ausgabe H
j = 1 | 2. H != a -> Ausgabe H
j = 2 | 3. H != i -> Ausgabe H
Um das zu verhindern könntest du eine Boolean Variable definieren, diese würde vor Beginn der 2. Schleife auf true gesetzt, im Rumpf auf false gesetzt falls das aktuelle Zeichen eines der Zeichen im Eliminatortext entspricht.
Nach der 2. Schleife könnte man diese Variable für eine if-Abfrage verwenden und nur wenn sie true ist das Zeichen printen.
Für die Ausgabe solltest du lieber Console.Write(eingabetext[i]);
verwenden damit alles in einer Zeile geschrieben wird.
Code:
using System;
class CharEliminator
{
static void Main()
{
string eingabetext = "Hallo Max, wie geht's?";
string eliminatortext = "lai";
bool printCurrentChar;
for(int i = 0; i < eingabetext.Length; i++)
{
printCurrentChar = true;
for(int j = 0; j < eliminatortext.Length; j++)
{
if(eingabetext[i] == eliminatortext[j])
{
printCurrentChar = false;
}
}
if(printCurrentChar == true) {
Console.Write(eingabetext[i]);
}
}
}
}
Ausgabe:
Ho Mx, we geht's?