Hey habe folgendes problem.
bekomme immer eine fehlermeldung und die will ich jetzt verhindern.
sobald ich die funktion new aufrufe und dahinter nichts mehr kommt soll es die funktion abbrechen aber ich weiß nicht wie ich es machen soll.
habe schon folgende tipps bekommen
Moin,
das liegt nicht an irgendwelchen Fehlern oder so, sondern einfach daran, dass du falsch auf sein new-Befehl reagiert. Und zwar erwartest du mindestens eins Tripel aber der Praktomat erwartet das auch das kein Tripel geht (das wäre eine Enigma ohne Rotoren).
Da steht doch bildlich gesprochen: Der Aufruf von new ist fehlgeschlagen, weil ich eine Antwort bekommen habe, aber ich wollte keine.
Btw solltest du die NPE fixen!
hier ich mein code
hoffe ihr könnt mir helfen
bekomme immer eine fehlermeldung und die will ich jetzt verhindern.
sobald ich die funktion new aufrufe und dahinter nichts mehr kommt soll es die funktion abbrechen aber ich weiß nicht wie ich es machen soll.
habe schon folgende tipps bekommen
Moin,
das liegt nicht an irgendwelchen Fehlern oder so, sondern einfach daran, dass du falsch auf sein new-Befehl reagiert. Und zwar erwartest du mindestens eins Tripel aber der Praktomat erwartet das auch das kein Tripel geht (das wäre eine Enigma ohne Rotoren).
Da steht doch bildlich gesprochen: Der Aufruf von new ist fehlgeschlagen, weil ich eine Antwort bekommen habe, aber ich wollte keine.
Btw solltest du die NPE fixen!
hier ich mein code
Java:
package enigma;
import java.io.BufferedReader;
// Anfang Attribute2
// Ende Attribute2
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
// Anfang Attribute3
// Anfang Attribute4
// Ende Attribute3
// Ende Attribute4
/**
// Anfang Attribute5
*
*
*/
public class Shell {
// Anfang Attribute1
// Ende Attribute5
// Anfang Methoden4
// Anfang Attribute
// Anfang Attribute6
private boolean exit;
private Enigma enigma;
// Ende Attribute1
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// Ende Attribute
// Ende Attribute6
public Shell() {
// Anfang Methoden2
// Anfang Methoden3
exit = false;
enigma = null;
}
// Anfang Methoden
// Anfang Methoden6
/**
*
*/
public void startShell() {
// Anfang Methoden5
String shellCommand = new String();
String[] tmpStringArray;
boolean correctCommand = false;
int cmd=0;
while (!exit) {
System.out.print("enigma> ");
correctCommand = false;
try {
// Anfang Methoden1
shellCommand = br.readLine().toLowerCase();
} catch (IOException e) {
System.out.println("Error! Can't read Command from Shell.");
}
if (shellCommand.startsWith("new")) {
if ("new" != null){
tmpStringArray = shellCommand.split(" ");
//
if ((tmpStringArray.length % 3 == 1) && (tmpStringArray.length >= 4)) {
// Ende Methoden3
ArrayList<String[]> rotorConfiguration = new ArrayList<String[]>();
for (int tmp = 1;tmp < tmpStringArray.length;tmp+=3){
// Ende Methoden4
rotorConfiguration.add(new String[]{ tmpStringArray[tmp],
tmpStringArray[tmp+1], tmpStringArray[tmp+2]});
}
enigma = new Enigma(rotorConfiguration);
correctCommand = true;
}
}
}
if (shellCommand.startsWith("encrypt")) {
StringBuilder encryptedText = new StringBuilder();
tmpStringArray = shellCommand.split(" ");
String cryptedText = tmpStringArray[1].toUpperCase();
for (int x = 0; x < cryptedText.length(); x++) {
encryptedText.append(EnigmaUtil.intToChar(enigma.encode(
// Ende Methoden2
EnigmaUtil.charToInt(cryptedText.charAt(x)))));
}
System.out.println(encryptedText);
correctCommand = true;
}
if (shellCommand.equals("show")) {
if (enigma == null) {
System.out.println("Error! Create a new Enigma at first.");
}else {
// Ende Methoden1
System.out.println(enigma.toString());
}
correctCommand = true;
}
if (shellCommand.equals("quit")) {
// Ende Methoden5
exit = true;
correctCommand = true;
}
if (!correctCommand) {
System.out.println("Error! Shell commands: \nencrypt <text> \nnew " +
" <perm_1><tickpos_1><key_1>" + " ...<perm_n>" +
" <tickpos_n><key_n>\nshow \nquit");
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
Shell shell = new Shell();
shell.startShell();
}
// Ende Methoden
// Ende Methoden6
}
hoffe ihr könnt mir helfen