Как я могу создать цикл для пользовательского ввода (пока пользователь не введет правильный ввод)? [Дубликат]
На этот вопрос уже есть ответ здесь:
Как использовать сканер, чтобы принимать только действительные значения int в качестве входных данных 6 ответовМоя программа должна попросить пользователя ввести сумму, которую он хочет снять со своего счета, и рассчитать текущий баланс после снятия. Требование для снятия составляет минимум 100 и максимум 1000. Если пользователь вводит неправильные данные, программа должна повторить запрос и попросить пользователя снова ввести сумму. Этот процесс будет повторяться до тех пор, пока пользователь не введет нужную сумму. Как только правильная сумма выбрана, она должна рассчитать и отобразить текущий баланс.
Вот как я пытался, но мне не удалось сделать цикл:
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);
}
}
}