Hallo!
Habe ein Programm geschrieben, dass Text mit der Rotationsverschlüsselung (auch bekannt als Cäsar-Verschlüsselung) verschlüsseln soll. Ich habe eine GUI und wollte nun die Methoden zum verschlüsseln schreiben. Erstmal um zu sehen ob es Funktioniert, habe ich gleich im Code den Text der Verschlüsselt werden soll definiert. (Später wenn es funktioniert dann mit Textfeldeingabe.) Ich habe nun folgendes Problem: Habe den Code, in eclipse wird auch kein Fehler angezeigt, aber wenn ich es starten will, wird in der Konsole irgendwas von exeption at line 14 und line 68 angezeigt.
Bitte um Hilfe, finde einfach keinen Fehler.
Code:
Habe ein Programm geschrieben, dass Text mit der Rotationsverschlüsselung (auch bekannt als Cäsar-Verschlüsselung) verschlüsseln soll. Ich habe eine GUI und wollte nun die Methoden zum verschlüsseln schreiben. Erstmal um zu sehen ob es Funktioniert, habe ich gleich im Code den Text der Verschlüsselt werden soll definiert. (Später wenn es funktioniert dann mit Textfeldeingabe.) Ich habe nun folgendes Problem: Habe den Code, in eclipse wird auch kein Fehler angezeigt, aber wenn ich es starten will, wird in der Konsole irgendwas von exeption at line 14 und line 68 angezeigt.
Bitte um Hilfe, finde einfach keinen Fehler.
Code:
Java:
package de.luca.java.rotcrypt;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class gui extends JFrame{
private JTextField textfield;
private JTextField textfield2;
private JTextField textfield3;
public static void main(String[] args) {
new gui();
}
public gui(){
super("Rotationsverschlüsselung");
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().setLayout(null);
setResizable(false);
setAlwaysOnTop(true);
textfield = new JTextField();
textfield.setBounds(5, 30, 290, 25); // geht bis 300
getContentPane().add(textfield);
textfield2 = new JTextField();
textfield2.setBounds(305, 30, 285, 25);
getContentPane().add(textfield2);
textfield3 = new JTextField();
textfield3.setBounds(270, 60, 30, 20);
getContentPane().add(textfield3);
textfield3.setText("2");
textfield.setText("test");
JButton button = new JButton("Text v*erschlüsseln");
button.setBounds(335, 60, 225, 20);
getContentPane().add(button);
JLabel label = new JLabel("Zu verschlüsselnden Text eingeben:");
label.setBounds(45, 5, 280, 20);
getContentPane().add(label);
JLabel label2 = new JLabel("Verschlüsselter Text");
label2.setBounds(380, 5, 280, 20);
getContentPane().add(label2);
JLabel label3 = new JLabel("Um wie viele Stellen soll verschoben werden?");
label3.setBounds(5, 60, 280, 20);
getContentPane().add(label3);
setLocation(50, 50);
setSize(600, 117);
setVisible(true);
verschlüsselung();
}
String text = textfield.getText();
String verschiebung = textfield3.getText();
int offset = Integer.parseInt(verschiebung);
public void verschlüsselung() {
if (offset >= 1 && offset <= 127) {
char[] meinArray = text.toCharArray();
char[] meinNeuesArray = verschluesseln(offset, meinArray);
for (int i = 0; i < meinNeuesArray.length; i++) {
System.out.println(meinNeuesArray[i]);
}
}
}
public static char[] verschluesseln(int offset, char[] charArray) {
char[] cryptArray = new char[charArray.length];
for (int i = 0; i < charArray.length; i++) {
int verschiebung = (charArray[i] + offset) % 128;
cryptArray[i] = (char) (verschiebung);
}
return cryptArray;
}
}