Per il mio primo progetto Java sto cercando di creare un semplice gioco basato sul testo. Sembra che i tubi o non funzionino e quando provo a inserire qualcosa in dopo non funziona; Devo riavviarlo.I tubi o non funzionano?
public void GameStart() {
String playerName = "Player";
String Command = "Choice";
System.out.println("Type Start to start game!");
if(in.nextLine().equals("Start") || in.nextLine().equals("start")) {
Help();
print("Type Begin to start game :D");
if(in.nextLine().equals("Begin") || in.nextLine().equals("begin")) {
System.out.println("Who are you?");
Inizio e Inizio funziona, ma avendo la prima lettera in minuscolo come ho usato || per non. Quando uso quelli devo riavviarlo perché non posso digitare nulla, ma ho chiaramente o pipe che dice di usare uno dei due. Qualcuno ha idea di cosa sta causando questo?
cosa pensi che accada quando chiami 'in.nextLine()'? – njzk2
'in.nextLine()' probabilmente attende ulteriori input. Cercando di salvare l'input in una variabile e controllarne il valore. – MikeTheLiar
Come regola generale, ho trovato utile * mai * apportare modifiche di stato "in linea" con altri calcoli/valutazioni. (Nel tuo caso, le modifiche dello stato sono quando leggi l'input, che fai "in linea" con una condizione booleana.Un altro esempio di incremento, ad esempio, 'i ++'.) Ho sempre trovato più chiaro e più facile da ottenere quando tu tenerli separati. Metti le modifiche di stato prima o dopo altre operazioni, in una dichiarazione separata. Se l'avessi fatto qui, il tuo problema non si sarebbe mai verificato. – jpmc26