Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
public enum State {
STATE1, STATE2, STATE3, STATE4
}
switch (myState) {
case STATE1:
/** do something */
break;
usw.
}
myNum ist der aktuelle Status deines Automaten.Danke aber warum jetzt myState in der switch anweisung ?
Du kannst entweder dein Enum in einer Extra datei definieren, dann kannst du einfach per State.STATE1 zugreifen. Oder du definierst das enum in einer existierenden Klasse:muss ich dann die Klasse enum extra schreiben und dann mit extends aufrufen oder kann ich auch gleich enum innerhalb eine vorhandene Klasse definieren ?
public class Automat {
enum State {
STATE1, STATE2, ...
}
/** dein code */
}
public class Automat {
private enum STATE_TYPE {STATE1 ,STATE2,STATE3, STATE4 }
private STATE_TYPE myState;
switch (myState) {
case STATE1:
//something
// wie weise ich dem Automat dem nächten state hier ?
// soo etwa : myState=STATE4
break;
case STATE3:
break;
case STATE4:
}
}
public class Automat {
private enum STATE_TYPE {
STATE1, STATE2, STATE3, STATE4
}
private STATE_TYPE myState;
public void nextState() {
switch (myState) {
case STATE1:
//something
// wie weise ich dem Automat dem nächten state hier ?
myState = STATE_TYPE.STATE2;
break;
case STATE3:
break;
case STATE4:
}
}
}
import java.util.Random;
public class Automat {
private enum STATE_TYPE {STATE1 ,STATE2,STATE3, STATE4, END }
private static Random random = new Random();
public static void main(String[] args) {
STATE_TYPE myState = STATE_TYPE.STATE1;
while(myState != STATE_TYPE.END) {
System.out.println("State is " + myState);
switch (myState) {
case STATE1: myState = STATE2; break;
case STATE2: myState = STATE3; break;
case STATE3: myState = STATE4; break;
case STATE4:
//damit es ein wenig interessanter wird, etwas Zufall:
int r = random.nextInt(3);
if (r == 0) {
myState = STATE1;
} else if (r == 1) {
myState = STATE3;
} else {
myState = END;
}
break;
default : break;
}
}
}
}
was meinst du damit ?man kann es auch hübscher mit einer Automaten-Instanz und so machen.