¿Cómo puedo crear un bucle para la entrada del usuario (hasta que el usuario ingrese una entrada válida)? [duplicar]
Esta pregunta ya tiene una respuesta aquí:
Cómo usar el escáner para aceptar solo int válido como entrada 6 respuestasMi programa debe pedirle al usuario que ingrese la cantidad que desea retirar de su cuenta y que calcule el saldo actual después de retirarlo. El requisito para retirar es un mínimo de 100 y un máximo de 1000. Si el usuario ingresa una entrada incorrecta, el programa debe volver a solicitar y solicitar al usuario que ingrese la cantidad nuevamente. Este proceso seguirá repitiéndose hasta que el usuario ponga la cantidad correcta. Una vez que se elige la cantidad correcta, debe calcular y mostrar el saldo actual.
Así es como lo intenté, pero no pude hacer el bucle:
package ex3;
import java.util.Scanner;
public class BankApp {
public static void main(String[] args) {
//displaying the welcome message
System.out.println("Welcome to our bank.\nYour initial balance is 1000 SEK\n");
//initializing all necessary variables
double initialBalance = 1000;
double userChoise = 0;
double currentBalance;
//asking user to enter expected amount
System.out.println("Enter your amount you want to withdraw (in SEK): ");
//creating new instance of the scanner class
Scanner iScanner = new Scanner(System.in);
//store into userChoise whatever amount is chosen by user
userChoise = iScanner.nextDouble();
//checking wheather the user inputs any valid amount or not. In this case it must be minimum 100 and maximum 1000.
if(userChoise < 100 || userChoise > 1000)
{
System.out.println("Error: Enter your amount again(in SEK): ");
}
else {
currentBalance = initialBalance - userChoise;
System.out.printf("You have withdrawn %.2f\n", userChoise);
System.out.printf("Your current balance is %.2f\n", currentBalance);
}
}
}