Cómo continuar el ciclo basado en la entrada del usuario en el programa java

Tengo un programa de lotería que ejecutará apuestas y generará números al azar. Cuando el usuario alcanza $ 5000 en ganancias totales, ese usuario tendrá la opción de retirar $ 5000 y usar el saldo restante para continuar el ciclo. El usuario también podrá finalizar el ciclo si elige no retirar dinero. ¿Cómo continúo un ciclo basado en la entrada del usuario? Si el usuario escribe sí, el ciclo continuará, pero no estoy seguro de cómo hacerlo. ¿Puede ayudarme alguien, por favor? Si se supone que el ciclo continuará, con $ 5000 eliminados de la ganancia total del usuario debido al retiro, el saldo restante se usará para jugar.

He intentado poner la declaración if para la entrada del usuario en varios lugares en el bucle principal, pero el presupuesto del usuario sigue aumentando, no resta $ 5000.

java.util.Scanner
while (budget > 0) {

                lottery = (int) (Math.random() * 100);
                guess = (int) (Math.random() * 100);

                budget -= 1;    // budget = budget-1;
                // Get digits from lottery
                int lotteryDigit1 = lottery / 10;
                int lotteryDigit2 = lottery % 10;

                // Get digits from guess
                int guessDigit1 = guess / 10;
                int guessDigit2 = guess % 10;

                System.out.println("The lottery number is " + lottery);
                System.out.println("The computer picked number is " + guess);

                // Check the guess
                if (guess == lottery) {
                    System.out.println("Exact match: you win $10,000");
                    totalWin += 1000;
                } else if (guessDigit2 == lotteryDigit1 && guessDigit1 == lotteryDigit2) {
                    System.out.println("Match all digits: you win $3,000");
                    totalWin += 300;
                } else if (guessDigit1 == lotteryDigit1 || guessDigit1 == lotteryDigit2 || guessDigit2 == lotteryDigit1
                        || guessDigit2 == lotteryDigit2) {

                    System.out.println("Match one digit: you win $1,000");
                    totalWin += 100;
                } else
                    System.out.println("Sorry, no match");

                budget += totalWin;
                totalWin=0;

                if (budget > initBudget)
                    if ((budget-initBudget) >= 5000) {

                        System.out.println("You have reached the goal of 5000, we can go home!");
                        System.out.println("Enter 1 if you would like to cash out and use remaining balance to play and 0 if you would like to stop");
                        int decison = input.nextInt();
                        if (decison==1){budget=budget-5000;
                        System.out.println("Budget After play " + budget);
                        continue;
                        }break;


                    } 

                System.out.println("Budget After play " + budget);

            }

Entonces, en mi código, tengo el bucle

System.out.println("Enter 1 if you would like to cash out and use remaining balance to play and 0 if you would like to stop");
int decison = input.nextInt();
    if (decison==1){budget=budget-5000;
System.out.println("Budget After play " + budget);
continue;
}break;
} 

Este bucle debería recibir la entrada del usuario y luego restar 5000 del total de ganancias y usar el presupuesto restante para continuar jugando ... pero solo está aumentando. No entiendo por qué está aumentando si tengo -5000.

(si es posible, ayúdame a cambiar la respuesta a sí / no en lugar de la entrada 1)

Respuesta 1

Puedes cambiar tu código así:

System.out.println("Enter yes if you would like to cash out and use remaining balance to play and no if you would like to stop");
String decision = input.next();
if ("Yes".equalsIgnoreCase(decision)) { // Cashing Out
    budget = budget - 5000;
    System.out.println("Budget After play " + budget);
    continue;
}
break; // breaking the loop (if user enters anything other than yes)

Aquí lo he usado String(para almacenar la respuesta del Usuario como una palabra). Si ingresa Yes, yeso YES(ignorando el caso, se considerará que el usuario quiere cobrar) el ciclo no se romperá.

Respuesta: 2

Soy nuevo en SpringBoot. He creado una aplicación simple que debe usar datos falsos en el entorno de desarrollo y conectarse a MongoDb en el entorno de prueba. El entorno de desarrollo no tiene ...

Estoy en el proceso de solución de problemas de una traducción reciente del código EJB al código nativo de Hibernate (proceso doloroso, ya que EJB me mimó mucho con su conveniencia). Una cosa que encuentro problemática es ...

¿Hay alguna intención que vaya directamente al interruptor "Habilitar depuración USB" o una forma de solicitar que se habilite? --- Explicación de la situación --- Tenemos una aplicación que usamos para probar en muchos teléfonos ...

Tengo un botón, cuando el usuario hace clic en él, actualizará toda la interfaz de usuario (vista de texto, gráficos). El contenido de la interfaz de usuario proviene de una base de datos SQLite, denominé la función de actualización loading (). Podrías imaginar ...