Hoi leutz
ich sitze grad an meinem Java projekt für den info unterricht, welches auch fast fertig ist, wären da nicht immer diese kleinen Fehler, und ich komme eben nicht mehr weiter...
Also situation ist, dass ich ein verschlüsselungsprogramm für texte schreibe und eine dazu gehörige dechiffrierung
das chiffrieren funktioniert alles top, nur mit dem dechiffrieren hab ich grad ein problem..
habe dazu ein array angefertigt, damit java auch weiss in was er übersetzen soll...die verschlüsselung findet btw mit polybios statt
Hier mal der Quellcode der Klasse die probleme bereitet:
Kurzfassung des quellcodes: beginnt mit import, dann folgt array deklarierung, dann im konstruktor die array initialisierung, daraufhin die methode zum dechiffrieren, wobei durch die while schleife aus der txt datei gelesen wird und mittels if bedingungen festgelegt wird welche stelle die ziffer hat (denn 2 Zahlen stellen immer ein Buchstabe/zeichen/ziffer/etc pp dar)
rest is nur schreiben in txt datei
der fehler taucht in Zeile 126 auf, und meldet "java.lang.ArrayIndexOutOfBoundsException: 49"
was das bedeutet bin ich mir im klaren, nur weiss ich nicht wieso genau der ummeckert, kann kein fehler meienrseits entdecken
EDIT: sollte erwähnt werden dass das compilen funtioniert ohne probleme, der fehler tritt beim ausführen der methode auf
ganzer quellcode:
Alles anzeigen
ich sitze grad an meinem Java projekt für den info unterricht, welches auch fast fertig ist, wären da nicht immer diese kleinen Fehler, und ich komme eben nicht mehr weiter...
Also situation ist, dass ich ein verschlüsselungsprogramm für texte schreibe und eine dazu gehörige dechiffrierung
das chiffrieren funktioniert alles top, nur mit dem dechiffrieren hab ich grad ein problem..
habe dazu ein array angefertigt, damit java auch weiss in was er übersetzen soll...die verschlüsselung findet btw mit polybios statt
Hier mal der Quellcode der Klasse die probleme bereitet:
Kurzfassung des quellcodes: beginnt mit import, dann folgt array deklarierung, dann im konstruktor die array initialisierung, daraufhin die methode zum dechiffrieren, wobei durch die while schleife aus der txt datei gelesen wird und mittels if bedingungen festgelegt wird welche stelle die ziffer hat (denn 2 Zahlen stellen immer ein Buchstabe/zeichen/ziffer/etc pp dar)
rest is nur schreiben in txt datei
der fehler taucht in Zeile 126 auf, und meldet "java.lang.ArrayIndexOutOfBoundsException: 49"
was das bedeutet bin ich mir im klaren, nur weiss ich nicht wieso genau der ummeckert, kann kein fehler meienrseits entdecken
EDIT: sollte erwähnt werden dass das compilen funtioniert ohne probleme, der fehler tritt beim ausführen der methode auf
ganzer quellcode:
PHP-Quellcode
- import java.io.*;
- public class Dechiffrierung
- {
- private String Polybios[][] = new String[10][10];
- public Dechiffrierung()
- {
- Polybios[0][0] = "P";
- Polybios[0][1] = "N";
- Polybios[0][2] = "C";
- Polybios[0][3] = "V";
- Polybios[0][4] = "W";
- Polybios[0][5] = "T";
- Polybios[0][6] = "Y";
- Polybios[0][7] = "P";
- Polybios[0][8] = "R";
- Polybios[0][9] = "Ü";
- Polybios[1][0] = "Y";
- Polybios[1][1] = "A";
- Polybios[1][2] = "M";
- Polybios[1][3] = "Q";
- Polybios[1][4] = "S";
- Polybios[1][5] = "V";
- Polybios[1][6] = "H";
- Polybios[1][7] = "Ö";
- Polybios[1][8] = "N";
- Polybios[1][9] = "Ü";
- Polybios[2][0] = "Ü";
- Polybios[2][1] = "K";
- Polybios[2][2] = "C";
- Polybios[2][3] = "D";
- Polybios[2][4] = "M";
- Polybios[2][5] = "B";
- Polybios[2][6] = "V";
- Polybios[2][7] = "M";
- Polybios[2][8] = "A";
- Polybios[2][9] = "C";
- Polybios[3][0] = "X";
- Polybios[3][1] = "H";
- Polybios[3][2] = "";
- Polybios[3][3] = "!";
- Polybios[3][4] = "\"";
- Polybios[3][5] = "5";
- Polybios[3][6] = "?";
- Polybios[3][7] = "%";
- Polybios[3][8] = "&";
- Polybios[3][9] = "X";
- Polybios[4][0] = "(";
- Polybios[4][1] = ")";
- Polybios[4][2] = "E";
- Polybios[4][3] = "+";
- Polybios[4][4] = ",";
- Polybios[4][5] = "-";
- Polybios[4][6] = ".";
- Polybios[4][7] = "/";
- Polybios[4][8] = "0";
- Polybios[4][9] = "1";
- Polybios[5][0] = "2";
- Polybios[5][1] = "3";
- Polybios[5][2] = "4";
- Polybios[5][3] = "5";
- Polybios[5][4] = "6";
- Polybios[5][5] = "7";
- Polybios[5][6] = "8";
- Polybios[5][7] = "9";
- Polybios[5][8] = ":";
- Polybios[5][9] = ";";
- Polybios[6][0] = "B";
- Polybios[6][1] = "E";
- Polybios[6][2] = "D";
- Polybios[6][3] = "?";
- Polybios[6][4] = "O";
- Polybios[6][5] = "W";
- Polybios[6][6] = "Ä";
- Polybios[6][7] = "Z";
- Polybios[6][8] = "S";
- Polybios[6][9] = "O";
- Polybios[7][0] = "L";
- Polybios[7][1] = "R";
- Polybios[7][2] = "U";
- Polybios[7][3] = "F";
- Polybios[7][4] = "Q";
- Polybios[7][5] = "G";
- Polybios[7][6] = "O";
- Polybios[7][7] = "Ä";
- Polybios[7][8] = "T";
- Polybios[7][9] = "J";
- Polybios[8][0] = "T";
- Polybios[8][1] = "I";
- Polybios[8][2] = "A";
- Polybios[8][3] = "W";
- Polybios[8][4] = "D";
- Polybios[8][5] = "G";
- Polybios[8][6] = "K";
- Polybios[8][7] = "F";
- Polybios[8][8] = "I";
- Polybios[8][9] = "Z";
- Polybios[9][0] = "Ö";
- Polybios[9][1] = "[";
- Polybios[9][2] = "\\";
- Polybios[9][3] = "]";
- Polybios[9][4] = "K";
- Polybios[9][5] = "U";
- Polybios[9][6] = "ß";
- Polybios[9][7] = "E";
- Polybios[9][8] = "R";
- Polybios[9][9] = "L";
- }
- public void Dechiffrierung(String dateiname){
- FileReader file;
- int c;
- int c1 = 0;
- int c2 = 0;
- String sammle = "";
- int flag = 1;
- try {
- file = new FileReader(dateiname+"_chiff.txt");
- while ((c = file.read()) != -1) {
- if (flag == 0) {c2 = c; flag = -1; sammle = sammle + Polybios[c1][c2];};
- if (flag == 1) {c1 = c; flag = 0; };
- if (flag ==-1) flag = 1;
- }
- } catch (IOException e) {
- System.out.println("Fehler beim Lesen der Datei festgestellt."); }
- FileWriter file_dechiff;
- try {
- file_dechiff = new FileWriter(dateiname+"_dechiff.txt");
- file_dechiff.write(sammle);
- file_dechiff.close();
- } catch (IOException e) {
- System.out.println("Fehler beim Erstellen der Datei festgestellt.");
- }
- }
- }