Skip to content
Snippets Groups Projects
Commit 79db1cc2 authored by Dennis Eisold's avatar Dennis Eisold
Browse files

Merge branch 'master' into 'master'

Master

See merge request alfatrainingkurse/java/enigma!17
parents 4d8d1770 8faea0c5
No related branches found
No related tags found
No related merge requests found
...@@ -2,10 +2,10 @@ package Enigma.model; ...@@ -2,10 +2,10 @@ package Enigma.model;
/** /**
* Klasse Reflektor * Klasse Reflektor
* * <p>
* Der Reflektor nimmt einen Buchstaben der Klasse Walze entgegen und und kodiert diesen. * Der Reflektor nimmt einen Buchstaben der Klasse Walze entgegen und und kodiert diesen.
* Der kodierte Buchstabe wird an die Klasse Walze wieder zurückgegeben. * Der kodierte Buchstabe wird an die Klasse Walze wieder zurückgegeben.
* * <p>
* Prinzipiell verhält sich die Klasse Refelktor wie die Klasse Walze, außer das sie sich * Prinzipiell verhält sich die Klasse Refelktor wie die Klasse Walze, außer das sie sich
* nach Betätigung einer Taste nicht dreht (starr montiert) und sie gibt keine Signale * nach Betätigung einer Taste nicht dreht (starr montiert) und sie gibt keine Signale
* an andere Walzen zum drehen. * an andere Walzen zum drehen.
...@@ -14,70 +14,38 @@ public class Reflektor { ...@@ -14,70 +14,38 @@ public class Reflektor {
/** /**
* Konstanten und Variablen der Klasse Reflektor * Konstanten und Variablen der Klasse Reflektor
* * <p>
* WALZE_ALPHABET : konstanter Char-Array mit den Werten des Alphabeths (26 Werte) * WALZE_ALPHABET : konstanter Char-Array mit den Werten des Alphabeths (26 Werte)
* WALZE_REFLEKTOR : konstanter Char-Array mit den Werten des Reflektors (26 Werte) * WALZE_REFLEKTOR : konstanter Char-Array mit den Werten des Reflektors (26 Werte)
* reflektorBuchstabeRein : Character mit dem an die Klasse übergebenen Character * reflektorBuchstabeRein : Character mit dem an die Klasse übergebenen Character
* reflektorBuchstabeRaus : Character nach der Codierung in der Klasse Reflektor * reflektorBuchstabeRaus : Character nach der Codierung in der Klasse Reflektor
* iPositionReflektor : Integer mit der Positionsnummer des Characters im Array * iPositionReflektor : Integer mit der Positionsnummer des Characters im Array
*/ */
private final Character[] WALZE_ALPHABET = {'A','B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'}; private final Character[] WALZE_ALPHABET = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
private final Character[] WALZE_REFLEKTOR= {'E', 'J', 'M', 'Z', 'A', 'L', 'Y', 'X', 'V', 'B', 'W', 'F', 'C', 'R', 'Q', 'U', 'O', 'N', 'T', 'S', 'P', 'I', 'K', 'H', 'G', 'D'}; private final Character[] WALZE_REFLEKTOR = {'E', 'J', 'M', 'Z', 'A', 'L', 'Y', 'X', 'V', 'B', 'W', 'F', 'C', 'R', 'Q', 'U', 'O', 'N', 'T', 'S', 'P', 'I', 'K', 'H', 'G', 'D'};
private Character reflektorBuchstabeRein;
private Character reflektorBuchstabeRaus;
private int iPositionReflektor;
/** /**
* Funktion Codiere * Funktion Codiere
* * <p>
* Durchsucht das konstante Char-Array WALZE_ALPHABET nach der Position eines bestimmten * Durchsucht das konstante Char-Array WALZE_ALPHABET nach der Position eines bestimmten
* Buchstabens und gibt den Character an der entsprechenden Position im konstanten * Buchstabens und gibt den Character an der entsprechenden Position im konstanten
* Char-Array WALZE_REFLEKTOR zurück. * Char-Array WALZE_REFLEKTOR zurück.
* *
* @return reflektorBuchstabeRaus: Character: Der kodierte Buchstabe aus dem Reflektor * @return reflektorBuchstabeRaus: Character: Der kodierte Buchstabe aus dem Reflektor
*/ */
public char codiere (){ public char codiere(Character buchstabe) {
int index = 0; int iPositionReflektor = 0;
/*Ermittelt die Position des Buchstaben buchstabe auf der Alphabetswalze*/ /*Ermittelt die Position des Buchstaben buchstabe auf der Alphabetswalze*/
for(index = 0; index < WALZE_ALPHABET.length; index++) { for (int index = 0; index < WALZE_ALPHABET.length; index++) {
if(getReflektorBuchstabeRein().equals(WALZE_ALPHABET[index])) { if (buchstabe.equals(WALZE_ALPHABET[index])) {
iPositionReflektor = index; iPositionReflektor = index;
break; break;
} }
} }
/*Im Char-Array WALZE_REFLEKTOR wird der Character an der Position iPositionReflektor ausgegeben*/ /*Im Char-Array WALZE_REFLEKTOR wird der Character an der Position iPositionReflektor ausgegeben*/
reflektorBuchstabeRaus = WALZE_REFLEKTOR[iPositionReflektor]; return WALZE_REFLEKTOR[iPositionReflektor];
return reflektorBuchstabeRaus;
}
/**
* Getter getReflektorBuchstabeRein
*
* Gibt den Wert der Variablen reflektorBuchstabeRein zurück
*
* @return reflektorBuchstabeRein: Character: gibt den Buchstaben zurück
*/
public Character getReflektorBuchstabeRein() {
return reflektorBuchstabeRein;
}
/**
* Setter setReflektorBuchstabeRein
*
* Setzt den Wert der Variablen reflektorBuchstabeRein
*
* @param reflektorBuchstabeRein: Character: setzt den Wert des Buchstabens
*/
public void setReflektorBuchstabeRein(Character reflektorBuchstabeRein) {
if (Character.isLetter(reflektorBuchstabeRein)){
this.reflektorBuchstabeRein = reflektorBuchstabeRein;
} else{
System.err.println("Kein Buchstabe übergeben im Reflektor");
}
} }
} }
//package Enigma.model; package Enigma.model;
//
//public class Steckbrett { /**
// *
// private final Character[] WALZE_ALPHABET = {'A','B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'}; */
// private Character buchstabeEins; public class Steckbrett {
// private Character buchstabeZwei; /**
// private int iPositionEins; *
// private int iPositionZwei; */
// private int zaehler;
// public Character getBuchstabeEins() { private Character[] orginalBuchstaben;
// return buchstabeEins; private Character[] getauschteBuchstaben;
// }
// /**
// public void setBuchstabeEins(Character buchstabeEins) { *
// this.buchstabeEins = buchstabeEins; */
// } public Steckbrett() {
//
// public Character getBuchstabeZwei() { orginalBuchstaben = new Character[10];
// return buchstabeZwei; getauschteBuchstaben = new Character[10];
// } }
//
// public void setBuchstabeZwei(Character buchstabeZwei) {
// this.buchstabeZwei = buchstabeZwei; /**
// } *
// * @param buchstabe1
// * @param buchstabe2
// * @return
// public char vertauscheBuchstaben(){ */
// /*Variable um Index zu speichern*/ public boolean setzeVertauschung(char buchstabe1, char buchstabe2) {
// int indexA = 0;
// int indexB = 0; if (zaehler < orginalBuchstaben.length) {
// orginalBuchstaben[zaehler] = buchstabe1;
// /*Ermittelt die Position des Buchstaben buchstabeEins auf der Alphabetswalze*/ getauschteBuchstaben[zaehler++] = buchstabe2;
// for(indexA = 0; indexA < WALZE_ALPHABET.length; indexA++) { } else {
// if(getBuchstabeEins().equals(WALZE_ALPHABET[index])) { System.err.println("Zu viele Vertauschungen angegeben!");
// iPositionEins = index; }
// break;
// } return ueberpruefeVertauschungen();
// } }
//
// /*Ermittelt die Position des Buchstaben buchstabeZwei auf der Alphabetswalze*/ /**
// for(indexA = 0; index < WALZE_ALPHABET.length; index++) { *
// if(getBuchstabeEins().equals(WALZE_ALPHABET[index])) { * @return
// iPositionEins = index; */
// break; public boolean ueberpruefeVertauschungen() {
// }
// } boolean result = true;
// for (int n = 0; n < orginalBuchstaben.length; n++) {
// if (orginalBuchstaben.equals(orginalBuchstaben[n]) || getauschteBuchstaben.equals(orginalBuchstaben[n]) || getauschteBuchstaben.equals(getauschteBuchstaben[n])) {
// /*Im Char-Array WALZE_REFLEKTOR wird der Character an der Position iPositionReflektor ausgegeben*/ System.err.println("Vertauschungen enthalten unzulässige Dopplungen");
// reflektorBuchstabeRaus = WALZE_REFLEKTOR[iPositionReflektor]; result = false;
// return reflektorBuchstabeRaus; }
// }
//
// return result;
// }
//
// return 0; /**
// } *
//} * @param buchstabe
* @return
*/
public char codiere(Character buchstabe) {
for (int index = 0; index < getauschteBuchstaben.length; index++) {
if (buchstabe.equals(getauschteBuchstaben[index])) {
buchstabe = orginalBuchstaben[index];
} else if (buchstabe.equals(orginalBuchstaben[index])) {
buchstabe = getauschteBuchstaben[index];
}
}
return buchstabe;
}
}
...@@ -33,6 +33,8 @@ public class Walze { ...@@ -33,6 +33,8 @@ public class Walze {
private int iPositionBuchstabeRe; private int iPositionBuchstabeRe;
private Character[] walze; private Character[] walze;
/** /**
* Gibt die Parameter der Walze mit * Gibt die Parameter der Walze mit
* *
...@@ -46,6 +48,7 @@ public class Walze { ...@@ -46,6 +48,7 @@ public class Walze {
this.ringstellung = ringstellung; this.ringstellung = ringstellung;
} }
/** /**
* Sortiert den Walzennummern das passenden Character-Array mittels switch zu. * Sortiert den Walzennummern das passenden Character-Array mittels switch zu.
* *
...@@ -159,8 +162,7 @@ public class Walze { ...@@ -159,8 +162,7 @@ public class Walze {
* Chiffriert den Buchstaben an der Position aus der Methode positionBuchstabe() * Chiffriert den Buchstaben an der Position aus der Methode positionBuchstabe()
* anhand der gewaehlten Walze. * anhand der gewaehlten Walze.
* *
* @param iPositionBuchstabe : int : Position des zu chiffrierenden Buchstabens * @param
* @param walze : Character[] : ausgewaehlte Walze
* @return chiffrierterBuchstabe : Character : chiffrierter Buchstabe * @return chiffrierterBuchstabe : Character : chiffrierter Buchstabe
*/ */
public Character codiere(Character buchstabe) { public Character codiere(Character buchstabe) {
...@@ -176,7 +178,7 @@ public class Walze { ...@@ -176,7 +178,7 @@ public class Walze {
* Chiffriert den Buchstaben an der Position aus der Methode positionBuchstabeReverse() * Chiffriert den Buchstaben an der Position aus der Methode positionBuchstabeReverse()
* anhand der AlphaWalze. * anhand der AlphaWalze.
* *
* @param iPositionBuchstabeRe : int : Position des zu chiffrierenden Buchstabens * @param
* @return codierterBuchstabeRe : Character : chiffrierter Buchstabe * @return codierterBuchstabeRe : Character : chiffrierter Buchstabe
*/ */
public Character codiere2(char buchstabe) { public Character codiere2(char buchstabe) {
...@@ -241,5 +243,4 @@ public class Walze { ...@@ -241,5 +243,4 @@ public class Walze {
} }
} }
} }
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