Verschlüsselungsprogramm - fehler

NetzUnity und Informatik-forum wurden zusammengelegt. Eine entsprechende Ankündigung wird demnächst noch folgen. Für 2025 ist hier einiges geplant! Bei Fragen bitte per DM an Maximilian Rupp wenden.
  • Dies soll der Quellcode für ein sehr simples Verschlüsselungsverfahren sein.

    Zunächst wird mit einer einfachen switch-case Verzweigung das Alphabet umgekehrt, sodass A=Z, B=Y,C=X usw sein soll.

    Danach soll der verschlüsselte String noch einmal verschlüsselt werden.
    Ich dachte mir das ganze so, dass die ascii-zeichen in integer werten ausgegeben werden, sodass an der Stelle eines A eine 65 erscheint.

    Einschränkungen sind: nur Großbuchstaben, keine Sonderzeichen


    Leider bin ich Anfänger und weiß absolut nicht, wo der Fehler im Programm sein könnte.

    Ich wäre sehr dankbar wenn mir jemand von euch weiterhelfen könnte.

    Mfg, lux



    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    /**
    *
    * Beschreibung
    *
    * @version 1.0 vom 5/2/2007
    * @author
    */
    public class numwert extends JFrame {
    // Anfang Variablen
    private JTextField jTextField1 = new JTextField();
    private JButton jButton1 = new JButton();
    private JTextField jTextField2 = new JTextField();
    private JButton jButton2 = new JButton();
    private JTextField jTextField3 = new JTextField();
    // Ende Variablen
    public numwert(String title) {
    // Frame-Initialisierung
    super(title);
    addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent evt) { System.exit(0); }
    });
    int frameWidth = 300;
    int frameHeight = 346;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2 ;
    setLocation(x, y);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten
    jTextField1.setBounds(48, 24, 177, 24);
    jTextField1.setText("Eingabefeld");
    cp.add(jTextField1);
    jButton1.setBounds(72, 72, 129, 25);
    jButton1.setText("verschlüsseln1");
    cp.add(jButton1);
    jButton1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
    jButton1ActionPerformed(evt);
    }
    });
    jTextField2.setBounds(40, 120, 177, 24);
    jTextField2.setText("Ausgabefeld");
    cp.add(jTextField2);
    jButton2.setBounds(72, 168, 129, 25);
    jButton2.setText("verschlüsseln2");
    cp.add(jButton2);
    jButton2.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
    jButton2ActionPerformed(evt);
    }
    });
    jTextField3.setBounds(40, 216, 169, 24);
    jTextField3.setText("Ausgabefeld2");
    cp.add(jTextField3);
    // Ende Komponenten
    setResizable(false);
    setVisible(true);
    }
    // Anfang Ereignisprozeduren
    public void jButton1ActionPerformed(ActionEvent evt) {
    string eing=jTextField1.getText();
    string ausg=" ";
    for (int i=0; i<text.length();i++);{
    switch(eing.charAt(i)){

    case 'A'=ausg=ausg+'Z':break;
    case 'B'=ausg=ausg+'Y':break;
    case 'C'=ausg=ausg+'X':break;
    case 'D'=ausg=ausg+'W':break;
    case 'E'=ausg=ausg+'V':break;
    case 'F'=ausg=ausg+'U':break;
    case 'G'=ausg=ausg+'T':break;
    case 'H'=ausg=ausg+'S':break;
    case 'I'=ausg=ausg+'R':break;
    case 'J'=ausg=ausg+'Q':break;
    case 'K'=ausg=ausg+'P':break;
    case 'L'=ausg=ausg+'O':break;
    case 'M'=ausg=ausg+'N':break;
    case 'N'=ausg=ausg+'M':break;
    case 'O'=ausg=ausg+'L':break;
    case 'P'=ausg=ausg+'K':break;
    case 'Q'=ausg=ausg+'J':break;
    case 'R'=ausg=ausg+'I':break;
    case 'S'=ausg=ausg+'H':break;
    case 'T'=ausg=ausg+'G':break;
    case 'U'=ausg=ausg+'F':break;
    case 'V'=ausg=ausg+'E':break;
    case 'W'=ausg=ausg+'D':break;
    case 'X'=ausg=ausg+'C':break;
    case 'Y'=ausg=ausg+'B':break;
    case 'Z'=ausg=ausg+'A':break;
    }
    jTextField2.setText(ausg);
    }
    public void jButton2ActionPerformed(ActionEvent evt) {
    string eing=jTextField1.getText();
    string ausg=" ";

    char[] array = string.toCharArray();
    for(int i=0 ; i<array.length ; ++i)
    {
    System.out.print(" " + (int)array[i]);
    }
    jTextField3.setText(ausg);
    }
    // Ende Ereignisprozeduren

  • Sers,

    in der Methode jButton1ActionPerformed verwendest du zwei Strings die du aber nicht richtig deklarierst (String gehört hier großgeschrieben).
    In der For-Schleife hast du ein Semikolon das da nicht hingehört
    also: for (int i=0; i<text.length();i++);{ ohne das ";" vor der geschwungenen Klammer.

    Ansonsten sieht der switch etwas merkwürdig aus. probier mal statt
    "case 'A'=ausg=ausg+'Z':break;" das:
    "case 'A':ausg = ausg + 'Z';break;"

    Hab das mal eben im Eclipse gestartet mit den Änderungen und es geht im großen und ganzen, du musst halt nach der 2. Verschlüsselung das auch ins 3. Textfeld schreiben und nicht in die Konsole.

    Hoffe etwas geholfen zu haben, viel Spaß noch!

    mfg
    Rumpl

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!