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