Mehrere Methoden in der main-Methode verknüpfen und aufeinander anwenden

tttmann

Mitglied
Tag,
ich versuche mehrere Methoden, bereingen und verschlüsseln in der main-Methode
aufeinander anzuwenden. Das heißt, dass der Text bevor er verschlüsselt wird erst bereingt werden soll. Leider funktioniert das nicht so ganz :bahnhof:

Methode bereingen:

Java:
 public static String bereinigen(String eingabe){           // Der Text wird bereingt: alle Kleinbuchstaben in Großbuchstaben, Leerzeichen werden entfernt, Umlaute werden durch normale Buchstaben ersetzt   
        String text =  "";
        char zeichen;
        char neuesZeichen;
        for (int i = 0 ; i < eingabe.length(); i = i+1){
            zeichen = eingabe.charAt(i);
            if ( (int) zeichen >= (int) 'A' && (int) zeichen <= (int) 'Z' ) {
                // zeichen ist ein Großbuchstabe
                text = text + zeichen;
            }
            if ( (int) zeichen >= (int) 'a' && (int) zeichen <= (int) 'z' ) {
                // zeichen ist ein Kleinbuchstabe
                neuesZeichen = (char) (zeichen-32);
                text = text + neuesZeichen;
            }
            if ( zeichen == 'Ä' || zeichen == 'ä' ) {   // Ä wird zu AE
                text = text + "AE";
            }
            if ( zeichen == 'Ö' || zeichen == 'ö' ) {   // Ö wird zu OE
                text = text + "OE";
            }
            if ( zeichen == 'Ü' || zeichen == 'ü' ) {   // Ü wird zu UE     
                text = text + "UE";
            }
            if ( zeichen == 'ß' ) {                     // ß wird zu SS
                text = text + "SS";
            }
            if (zeichen == '!' + '?' + ',' + '.' + '(' + ')' + ':' + ';' + ' ') {    // jegliche Sonderzeichen     werden entfernt
                text = "";
            }
         }   
        return text;
    }

Methode verschlüsseln:

Java:
public static String verschlüsseln(String text, String schlüssel) {  //Verschlüsseln
        String neuertext  = "";
        // Text wird durch Methode /bereinigen/ bereinigt
        for (int i = 0, j=0;  i < text.length(); i = i+1) {
            char buchstabe = text.charAt(i);
            int zahl = (int) buchstabe;
              // += ist eine Additionszuweisung → alles wird direkt auf neuertext hinzugerechnet
            neuertext += (char)((buchstabe + schlüssel.charAt(j) - 2 * 'A') % 26 + 'A');            // Funktioniert noch nicht so wie gewollt, manchmal gehts, manchmal nicht?!?! zu dumm für den dreck
            j = ++j % schlüssel.length();         //% führt Division aus, nur der Restwert wird geliefert    
            
       } 
        return neuertext;
    }

main-Methode:

Java:
public static void main(String[] args) {
        String schlüssel = "SCHLUESSEL";
        String text = "Guten Tag!";
        String bereinigen = bereinigen(text);
        String verschlüsseln = verschlüsseln(text, schlüssel);
        System.out.println(verschlüsseln);
        }

Wie kann ich zuerst bereinigen und diesen Text dann auf verschlüsseln anwenden?

Danke 🙂
 
Du musst deiner "verschlüsseln"-Methode den String "bereinigen" übergeben.

Umlaute im Code können ganz böse enden. Gewöhne dir das lieber ab.
 

Zurück
Oben