Ergebnis 1 bis 5 von 5

Java Atbash Cipher

  1. #1 Zitieren
    General Avatar von Kirgo
    Registriert seit
    May 2009
    Ort
    An einem Ort wo Raum und Zeit Nebensachen sind.
    Beiträge
    3.747
    Hallo mal wieder.

    Ich muss ein Atbash Cipher programmieren.

    Dazu muss ich ein Interface basteln.
    Ich habe ein Eingabefeld und ein Ausgabefeld.

    Sobald ich einen Buchstaben in das Eingabefeld tippe, soll das Ausgabefeld den entsprecheneden Buchstaben ausspucken.
    Ich meinte alles richtig zu haben. Das Programm gibt keinen Fehler oder so ab. Aber er zeigt nichts im Label an.

    Code:
        char letter;
        char newletter;
        char[]alf={'A','a','B','b','C','c','D','d','E','e','F','f','G','g','H','h','I','i','J','j','K','k','L','l','M','m','N','n','O','o','P','p','Q','q','R','r','S','s','T','t','U','u','V','v','W','w','X','x','Y','y','Z','z'};
        char[]fla={'Z','z','Y','y','X','x','W','w','V','v','U','u','T','t','S','s','R','r','Q','q','P','p','O','o','N','n','M','m','L','l','K','k','J','j','I','i','H','h','G','g','F','f','E','e','D','d','C','c','B','b','A','a'};
        
    
    
    
    
      private void OutputKeyReleased(java.awt.event.KeyEvent evt) {                                   
            String result;
            String s=Input.getText();
            letter=s.charAt(0);
            for (int i = 0; i<alf.length;i++){
                if (letter==alf[i]){
                    newletter=fla[i];
                    result=Character.toString(newletter);
                    Output.setText(result);
                }
            }
        }
    Kirgo ist offline

  2. #2 Zitieren
    Tieftöner Avatar von Lookbehind
    Registriert seit
    Dec 2007
    Beiträge
    15.176
    Debuging will auch gelernt sein.

    Wird deine Funktion überhaupt aufgerufen?
    Erzeugt es auch tatsächlich eine Ausgabe?
    Wird die Ausgabe sauber an das darstellende Objekt übergeben?
    ...
    Lookbehind ist offline

  3. #3 Zitieren
    General Avatar von Kirgo
    Registriert seit
    May 2009
    Ort
    An einem Ort wo Raum und Zeit Nebensachen sind.
    Beiträge
    3.747
    Okay. Fehler war, das ich das falsche Panel genommen habe.

    InputKeyRelease musste es sein.

    Jetzt muss ich es nur noch dazu bringen, mehr als einen Buchstaben zu verschlüsseln...
    Kirgo ist offline

  4. #4 Zitieren
    Retro Micky Avatar von Blue Force
    Registriert seit
    May 2009
    Beiträge
    26.200
    Zitat Zitat von Kirgo Beitrag anzeigen
    Okay. Fehler war, das ich das falsche Panel genommen habe.

    InputKeyRelease musste es sein.

    Jetzt muss ich es nur noch dazu bringen, mehr als einen Buchstaben zu verschlüsseln...
    Du kannst eine äußere For-Schleife hinzufügen die alle Buchstaben des strings s durchläuft.
    Blue Force ist offline

  5. #5 Zitieren
    Dea
    Registriert seit
    Jul 2007
    Beiträge
    10.447
    Zitat Zitat von Blue Force Beitrag anzeigen
    Du kannst eine äußere For-Schleife hinzufügen die alle Buchstaben des strings s durchläuft.
    Oder man spart sich diesen komischen Array-Kram:

    Code:
    if (letter >= 'A' && letter <= 'Z') {
        newletter = 26 - (letter - 'A') + 'A';
    else if (letter >= 'a' && letter <= 'z')) {
        newletter = 26 - (letter - 'a') + 'a';
    }
    Also, eine For-Schleife für jeden Buchstaben braucht man dann natürlich trotzdem, aber die For-Schleife in Post #1 fällt dann eben raus.

    Und dass hier nicht verschlüsselt, sondern höchstens kodiert wird, brauche ich wohl nicht erwähnen - aber ist ja auch nur eine Übungsaufgabe.
    Lehona ist offline

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •