J'apprends java et jusqu'ici j'ai créé une vérification de mot de passe en utilisant des instructions if. Cependant j'ai inséré mon contrôle de chaîne de travail dans une boucle while et ajouté Thread.sleep (3000); pour un délai de 3 secondes, mais une fois que j'ai terminé que mon interface graphique continue juste de retarder et de geler sur une page comme si le bouton a été pressé. Quelqu'un peut-il me montrer comment faire un exemple de code avec une vérification de chaîne et après un certain nombre d'essais un délai pour empêcher l'utilisateur d'essayer à nouveau? (voici ce que j'ai :)java- Comment créer une vérification de chaîne avec un délai d'une certaine durée?
//var declaration
boolean match = false;
String1 = "hi";
String2 = (I know this is not code but just to omit some code:) userInput
int time = 3000;
int attempt = 0;
//check
while(!match && attempt < (maximumTries+1)){
if(String1.equals(String2)){
System.out.print("match");
}
else if(attempt < 11){
attempt++;
System.out.println("Failed:" + attempt);
}
else{
attempt++;
System.out.println("Please try again later you have:" + attempt + "failed attempts");
try{
Thread.sleep(time);
}
catch(InterruptedException ex) {
Logger.getLogger(PasswordEntry.class.getName()).log(Level.SEVERE, null, ex);
}
time = time + 1000;//1 second more every time
}
}
Utilisez [timers] (https://docs.oracle.com/javase/7/docs/api/java/util/Timer.html) au lieu de sleep. – BladeMight
Comment utiliser la minuterie avec un temps spécifique? minuterie (heure)? –
voir ici https://stackoverflow.com/questions/2258066/java-run-a-function-after-a-specific-number-of-seconds – BladeMight