Hallo, ich bräuchte Hilfe für folgende Aufgabe:
Hier mein kläglicher Versuch das Buchstaben durch einen anderen ersetzt werden:
Das ist die Ausgabe von der Konsole mit einem Beispiel:
Er tauscht mir hier halt nicht 'a' mit 'b', sondern löscht 'b' und 'a' steht wo es vorher auch stand.
Ich komme nicht darauf wo der Fehler liegt.
Die Ausgabe sollte ja so aussehen (bei dem Beispiel): bababa ?
Und das soll für jede beliebige Eingabe des Nutzers funktionieren (für Buchstaben).
Ich wäre für jede Hilfe dankbar. mfg
Hier mein kläglicher Versuch das Buchstaben durch einen anderen ersetzt werden:
Java:
import java.io.IOException;
public class CharArrayProcessing {
public static void main(String[] args) throws IOException {
final int max = 100;
char[] pufferArray = new char[max]; // pufferArray für Eingabespeicher in pufferArray
System.out.println("Zeichenkette von bis zu " + max + " Zeichen eingeben und mit <return> abschliessen");
char c;
int counter = 0;
for (int i = 0; i < pufferArray.length; i++) {
c = (char) System.in.read();
if (c == '\r' || c == '\n') {
break;
}
counter++;
pufferArray[i] = c;
}
char[] ausgabeArray = new char[counter]; // AusgabeArray für gekürztes Array
for (int i = 0; i < ausgabeArray.length; i++) {
ausgabeArray[i] = pufferArray[i];
}
////////////////////////////////////////
for (char ch : ausgabeArray) {
System.out.print(ch); // Testausgabe (ob array gekürzt auf eingabe?)
}
////////////////////////////////////////
System.in.read();
// Teil für Eingabeüberprüfung und Tauschen
System.out.println("\nWelche Zeichen sollen getauscht werden ? Beispieleingabe: a->b");
char suche = 0;
char ersetze = 0;
for (int i = 0; i < 4; i++) {
char eingabe = (char) System.in.read();
if ((eingabe >= 'a' && eingabe <= 'z') || (eingabe >= 'A' && eingabe <= 'Z') && i == 0) {
suche = eingabe;
} else if (eingabe == '-' && i == 1) {
} else if (eingabe == '>' && i == 2) {
} else if ((eingabe >= 'a' && eingabe <= 'z') || (eingabe >= 'A' && eingabe <= 'Z') && i == 3) {
ersetze = eingabe;
} else {
System.out.println("Fehlerhafte Eingabe");
break;
}
}
// Tauschen von Buchstaben
for (int count = 0; count < ausgabeArray.length; count++) {
if (ausgabeArray[count] == suche) {
ausgabeArray[count] = ersetze;
}
}
for (int e = 0; e < ausgabeArray.length; e++) {
System.out.print(ausgabeArray[e]);
//System.out.println(ausgabeArray.length);
}
}
}
Das ist die Ausgabe von der Konsole mit einem Beispiel:
Er tauscht mir hier halt nicht 'a' mit 'b', sondern löscht 'b' und 'a' steht wo es vorher auch stand.
Ich komme nicht darauf wo der Fehler liegt.
Die Ausgabe sollte ja so aussehen (bei dem Beispiel): bababa ?
Und das soll für jede beliebige Eingabe des Nutzers funktionieren (für Buchstaben).
Ich wäre für jede Hilfe dankbar. mfg