hallo,
meine aufgabe besteht darin, ein programm zu schreiben, was die caesar chiffre wiedergibt.
also z.b.:
den buchstaben a
mit schlüssel 1
ergibt buchstaben b
der eingegebene buchstabe wird also um so viele felder verschoben wie der schlüssel vorgibt.
die methoden hab ich bereits.
Aber wie sage ich dem actionlistener, dass wenn ich ins eingabefeld was reinschreibe, er es dann umwandelt und im ausgabefeld wiedergibt.
die formel zur verschiebung war vorgegeben, wenn ichs nur über konsole mache, funktioniert auch alles, nur das einbinden in die GUI geht nicht richtig....
vlt kann mir jemand sagen wo mein fehler liegt.
hier mal mein bisheriges coding:
}
meine aufgabe besteht darin, ein programm zu schreiben, was die caesar chiffre wiedergibt.
also z.b.:
den buchstaben a
mit schlüssel 1
ergibt buchstaben b
der eingegebene buchstabe wird also um so viele felder verschoben wie der schlüssel vorgibt.
die methoden hab ich bereits.
Aber wie sage ich dem actionlistener, dass wenn ich ins eingabefeld was reinschreibe, er es dann umwandelt und im ausgabefeld wiedergibt.
die formel zur verschiebung war vorgegeben, wenn ichs nur über konsole mache, funktioniert auch alles, nur das einbinden in die GUI geht nicht richtig....
vlt kann mir jemand sagen wo mein fehler liegt.
hier mal mein bisheriges coding:
Java:
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
@SuppressWarnings("serial")
public class ZäsarGUI extends JFrame implements ActionListener
{
static JFrame frame = new JFrame();
JTextField Texteingabefeld;
JTextField keyfeld;
JTextField Textausgabefeld;
JLabel Texteingabe;
JLabel key;
JLabel Textausgabe;
JButton verschlüsseln;
JButton entschlüsseln;
GridLayout layout;
public ZäsarGUI()
{
verschlüsseln = new JButton ("verschlüsseln");
verschlüsseln.addActionListener(new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
String encode = Textausgabefeld.getText();
String key = keyfeld.getText();
int key1 = Integer.parseInt(key);
zäsar.decode(encode, key1);
}
});
entschlüsseln = new JButton ("entschlüsseln");
entschlüsseln.addActionListener(new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
String decode = Texteingabefeld.getText();
String key = keyfeld.getText();
int key1 = Integer.parseInt(key);
zäsar.decode(decode, key1);
}
});
GridLayout grid = new GridLayout (4,2);
Container con = frame.getContentPane();
con.setLayout(grid);
con.add(new JLabel ("Texteingabe"));
con.add(new JTextField ());
con.add(new JLabel ("key"));
con.add(new JTextField ());
con.add(new JLabel ("Textausgabe"));
con.add(new JTextField ());
con.add(verschlüsseln);
con.add(entschlüsseln);
//Container getContentPane;
frame.setTitle("Zäsar");
frame.setVisible(true);
frame.setSize(new Dimension(240, 120));
}
public static void main (String [] args)
{
new ZäsarGUI();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
}
}
Java:
public class zäsar
{
public static String decode (String text, int key)
{
String result = "";
for(int i = 0; i<text.length(); i++)
{
char c = text.charAt(i);
char p = (char)('a'+(c-'a'+(26-key))%26);
result = result + p;
}
System.out.println(result);
return result;
}
public static String encode (String text, int key)
{
String result = "";
for(int i = 0; i<text.length(); i++)
{
char p = text.charAt(i);
char c = (char)('a'+((p-'a'+key)%26));
result = result + c;
}
System.out.println (result);
return result;
}
}
Zuletzt bearbeitet: