Ich scheinen meine Scanner/Eclipse automatisch ausgeführt Benutzereingaben zu haben. Ich habe einen Scanner initialisiert als:Java-Scanner mit alten Eingabe
Scanner in = new Scanner(System.in);
mit einem Menü wie:
@Override
void update() {
//welcome
System.out.println("-----Welcome to the Pet Game-----");
System.out.println();
System.out.println("1. Play");
System.out.println("2. Help");
System.out.println("3. Dev Mode");
int choice = in.nextInt();
switch(choice){
case 1:
playLoop();
break;
case 2:
helpPage();
break;
case 3:
devMode();
break;
}
}
Aus irgendeinem Grund es automatisch 2 in diesem Menü eingibt. Und folgt mit 3 in diesem Menü:
// main menu
System.out.println("This is Day " + (i+1) + " you have " + dayActions + " Actions left.");
System.out.println("1. View Pet Status");
System.out.println("2. Shop");
System.out.println("3. Skip Action");
System.out.println("4. Play");
System.out.println("5. Feed");
System.out.println("6. Bathroom");
System.out.println("7. Sleep");
int choice = in.nextInt();
System.out.println();
Ich denke, das meine GameState Klasse zurückzuführen sein könnte, aber ich bin nicht sicher. Gamestate Klasse:
abstract class GameState {
abstract void update();
protected void pushState(GameState state) {
PetGame.pushState(state);
}
protected void popState() {
PetGame.popState();
}
}
StoreState (Dies ist die Klasse, es zu springen Ich kann nicht einen Hinweis auf sie in meinem Code finden keine Ahnung, warum es hier geht..)
public class StoreState{
@Override
void update() {
// TODO Auto-generated method stub
}
}
Danke für Ihre Hilfe.
bitte ** nicht ** aktualisieren Sie Ihre Frage, da Ihre Probleme gelöst werden. Das ändert den Kontext des ursprünglichen Problems völlig. Sie tun niemandem einen Gefallen, indem Sie das tun. Bringen Sie stattdessen einen Bearbeitungsbereich unterhalb Ihres ursprünglichen Problems an, der das neue Problem angibt, vor dem Sie stehen. –
@OusmaneMahyDiaw Ihre Absicht ist im Allgemeinen korrekt, aber * "fügen Sie lieber einen Bearbeitungsabschnitt unterhalb Ihres ursprünglichen Problems hinzu, der das neue Problem angibt, dem Sie gegenüberstehen" * ist falsch. Ein neues Thema muss in einem neuen Beitrag/einer neuen Frage gestellt werden (dies wurde mehrfach in Meta abgefragt und diskutiert, zum Beispiel hier: https://meta.stackoverflow.com/questions/298948/question-answered-buta-a- new-issue-erschien) – Tom
@Tom danke, immer noch das System lernen Sie sehen ^^. Geschätzt. –