Skip to content
Snippets Groups Projects
Commit 357c983b authored by Flori N's avatar Flori N
Browse files

Update Klasse Walze / Walzeneinstellung

parent 5838cc26
No related branches found
No related tags found
No related merge requests found
......@@ -32,6 +32,7 @@ public class Walze {
private int ringstellung;
private int walzennr;
private int iPositionBuchstabe;
private int verschoben;
private Character[] walze;
......@@ -42,10 +43,11 @@ public class Walze {
* @param ringstellung : Character : Einstellung des Notch
*/
public Walze(int walzennr, int ringstellung) {
this.walze = new Character[25];
this.walze = new Character[26];
this.walzennr = walzennr;
this.buchstabe = 'A';
this.iPositionBuchstabe = 0;
this.verschoben = 0;
this.ringstellung = ringstellung;
}
......@@ -133,56 +135,53 @@ public class Walze {
this.iPositionBuchstabe += 1;
}
checkRing = this.iPositionBuchstabe == getRingstellung();
checkRing = this.iPositionBuchstabe == (getRingstellung() - 1);
return checkRing;
}
public int verschiebung(int i) {
if((i + iPositionBuchstabe) > 26) {
int verschoben = (i + iPositionBuchstabe) - 26 ;
} else {
verschoben = i + iPositionBuchstabe;
}
return verschoben;
}
//codiere(char buchstabe) return char => Gibt den verschlüsselten Buchstaben zurück
/**
* Chiffriert den Buchstaben an der Position aus der Methode positionBuchstabe()
* anhand der gewaehlten Walze.
*
* @param
* @return chiffrierterBuchstabe : Character : chiffrierter Buchstabe
*/
public char codiere(char buchstabe) {
/**
* TODO: contains fragt ab ob der char im Alphabet enthalten ist. Das sollten wir vielleicht noch in eine
* Hilfsfunktion packen. Vielleicht sogar in der Hardware Klasse.
*/
boolean contains = false;
for (int i = 0; i < walzeAlpha.length; i++) {
if (walzeAlpha[i].equals(buchstabe)) {
buchstabe = walzenNummer()[i];
contains = true;
buchstabe = walzenNummer()[verschiebung(i)];
break;
}
}
if(!contains) {
buchstabe = 'X';
}
return buchstabe;
}
//codiere2(char buchstabe) => Gibt den vertauschten Buchstaben zurück (Reverse)
/**
* Chiffriert den Buchstaben an der Position aus der Methode positionBuchstabeReverse()
* anhand der AlphaWalze.
*
* @param
* @return codierterBuchstabeRe : Character : chiffrierter Buchstabe
*/
public char codiere2(char buchstabe) {
for (int i = 0; i < walzenNummer().length; i++) {
if (walzenNummer()[i].equals(buchstabe)) {
buchstabe = walzeAlpha[i];
buchstabe = walzeAlpha[verschiebung(i)];
break;
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment