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
Verschlüsselungsprogramm - fehler
-
-
[...]
// 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 'Z'=ausg=ausg+'A':break;
}
jTextField2.setText(ausg);
}
[...]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 -
Du hast mir sehr geholfen - vielen Dank dafür:)
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!