Aiuto con programma bancomat

di il
1 risposte

Aiuto con programma bancomat

Salve a tutti/e,
sono nuovo su questo forum e avrei bisogno di aiuto con un programma che sto scrivendo per compito su un bancomat.
La consegna cita: Nell'ipotesi che il PIN dell'Utente sia "1234 ", scrivete un programma che chieda all'utente di digitare il PIN, consentendo al massimo tre tentativi e agendo in questo modo:

-se l'utente inserisce il PIN corretto, visualizzate il messaggio "Your PIN is correct" e terminate il programma.

-se l'utente inserisce il PIN errato, visualizzate il messaggio "Your PIN is incorrect" e, se avete il PIN in meno di tre volte, chiedetelo di nuovo.

-se l'utente inserisce un numero sbagliato per tre volte, visualizzate il messaggio "Your bank card is blocked" e terminate il programma.

Ho scritto questo che va a completare le prime due richieste ma non so come fare per far richiedere all'utente il PIN dopo che lo ha sbagliato la prima volta
import java.util.Scanner;
public class Bancomat {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);	
		
		int PINCarta=1234,PINUtente=0,Tentativi=0;
		
		
		
		while(Tentativi<3) {
			
			System.out.println("inserisci PIN:");
			PINUtente = input.nextInt();
			
			if(PINCarta == PINUtente) {
				System.out.println("Your pin is correct");
				return;
			}
			if(PINCarta != PINUtente && Tentativi<3) {
				System.out.println("Your PIN is incorrect");
				
			}
			Tentativi++;
		}		
	}
	

}
Vi ringrazio in anticipo

1 Risposte

  • Re: Aiuto con programma bancomat

    AisuKyubu ha scritto:


    Ho scritto questo che va a completare le prime due richieste ma non so come fare per far richiedere all'utente il PIN dopo che lo ha sbagliato la prima volta
    Mi sembra che tu abbia già praticamente fatto tutto.
    Il ciclo while() dovrebbe permetterti di ripetere la richiesta del PIN all'utente fino a esaurimento dei tentativi.

    Come piccola modifica, toglierei il controllo del numero di tentativi dall'if() che controlla se il PIN è diverso da quello corretto: è superfluo in quanto se il numero di tentativi non è esaurito e stai facendo un controllo, non hai bisogno di ripetere la verifica di questa condizione.

    Metterei però la stampa del messaggio di tentativi esauriti all'esterno del ciclo.

    Ciao!
Devi accedere o registrarti per scrivere nel forum
1 risposte