Aufgabe 3 ausgeführt.
This commit is contained in:
parent
e7f050813a
commit
cfbdaa25de
|
@ -7,46 +7,49 @@ import java.util.HashSet;
|
|||
* @author tebe
|
||||
* @version 1.0
|
||||
*/
|
||||
public class Befehlswort {
|
||||
public enum Befehlswort {
|
||||
|
||||
// Ein HashSet mit den gueltigen Befehlswoertern als Klassenvariable
|
||||
private static final HashSet<String> gueltigeBefehle = new HashSet<String>();
|
||||
static {
|
||||
gueltigeBefehle.add("gehe");
|
||||
gueltigeBefehle.add("beenden");
|
||||
gueltigeBefehle.add("hilfe");
|
||||
}
|
||||
UNBEKANNT("unbekannt"), GEHE("gehe"), HILFE("hilfe"), BEENDEN("beenden");
|
||||
|
||||
/**
|
||||
* Konstruktor - initialisiere die Befehlswörter.
|
||||
/*
|
||||
Das Befehlswort als String
|
||||
*/
|
||||
public Befehlswort()
|
||||
{
|
||||
// tut momentan nichts
|
||||
}
|
||||
private String befehl;
|
||||
|
||||
/**
|
||||
* Pruefe, ob eine gegebene Zeichenkette ein gueltiger
|
||||
* Befehl ist.
|
||||
*
|
||||
* @return 'true', wenn die gegebene Zeichenkette ein gueltiger
|
||||
* Befehl ist, 'false' sonst.
|
||||
*/
|
||||
public static boolean istBefehl(String eingabe)
|
||||
{
|
||||
return gueltigeBefehle.contains(eingabe);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt die akzeptierten Befehlsworte als Text zurueck.
|
||||
*
|
||||
* @return Die akzeptierten Befehlsworte als Text
|
||||
*/
|
||||
public static String gibBefehlsworteAlsText() {
|
||||
String text = "";
|
||||
for (String befehl : gueltigeBefehle) {
|
||||
text = text + befehl + " ";
|
||||
public static Befehlswort gibBefehlswort(String wort) {
|
||||
for(Befehlswort befehlswort : Befehlswort.values()){
|
||||
if(befehlswort.getBefehl().equals(wort)) {
|
||||
return befehlswort;
|
||||
}
|
||||
}
|
||||
return text;
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String gibBefehlsworteAlsText() {
|
||||
String string = "";
|
||||
for(Befehlswort befehlswort : Befehlswort.values()){
|
||||
string += befehlswort.getBefehl() + " ";
|
||||
}
|
||||
return string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Konstruktor - Speichere das Befehlswort als String
|
||||
* @param befehlswort
|
||||
*/
|
||||
Befehlswort(String befehlswort)
|
||||
{
|
||||
this.befehl = befehlswort;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt das Datenfeld befehl zurueck.
|
||||
*
|
||||
* @return Das Befehlswort als String
|
||||
*/
|
||||
public String getBefehl() {
|
||||
return befehl;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Diese Klasse verarbeitet Befehle vom Typ
|
||||
* {@link Befehl Befehl} und löst die dazu
|
||||
|
@ -16,15 +19,16 @@ public class Kontroller {
|
|||
*/
|
||||
public boolean verarbeiteBefehl(Befehl befehl) {
|
||||
boolean macheWeiter = true;
|
||||
String befehlswort = befehl.gibBefehlswort();
|
||||
if (Befehlswort.istBefehl(befehlswort)) {
|
||||
|
||||
if (befehlswort.equals("gehe")) {
|
||||
System.out.println("Befehl GEHE " + befehl.gibZweitesWort() + " wird ausgefuehrt");
|
||||
} else if (befehlswort.equals("hilfe")) {
|
||||
System.out.println("Gueltige Befehle: "
|
||||
+ Befehlswort.gibBefehlsworteAlsText());
|
||||
} else if (befehlswort.equals("beenden")) {
|
||||
String befehlswortString = befehl.gibBefehlswort();
|
||||
if (Arrays.asList(Befehlswort.gibBefehlsworteAlsText().split(" ")).contains(befehlswortString)) {
|
||||
if (befehlswortString.equals(Befehlswort.GEHE.getBefehl())) {
|
||||
System.out.println("Befehl LAUFE " + befehl.gibZweitesWort() + " wird ausgefuehrt");
|
||||
} else if (befehlswortString.equals(Befehlswort.HILFE.getBefehl())) {
|
||||
System.out.println("Gueltige Befehle: ");
|
||||
for(Befehlswort befehlswort : Befehlswort.values()) {
|
||||
System.out.println(befehlswort.getBefehl());
|
||||
}
|
||||
} else if (befehlswortString.equals(Befehlswort.BEENDEN.getBefehl())) {
|
||||
System.out.println("Befehl BEENDEN wird ausgefuehrt.");
|
||||
macheWeiter = false;
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue