From ac0fcc3bc781220358b20b915c5f10eca07c0aee Mon Sep 17 00:00:00 2001 From: HydroFlo <HydroGamer@outlook.fr> Date: Tue, 9 Jan 2024 12:51:42 +0100 Subject: [PATCH] controle de saisie pour enlever le readInt --- S1.02/Jeu/classes/Labyrinthe.class | Bin 13961 -> 14520 bytes S1.02/Jeu/src/Labyrinthe.java | 37 ++++++++++++++++++++++++++++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/S1.02/Jeu/classes/Labyrinthe.class b/S1.02/Jeu/classes/Labyrinthe.class index 29aa85b21757c0e0feca8c46d266f4e73015c800..3213c314115800597a45cd8414591322450880e8 100644 GIT binary patch delta 2975 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 delta 2328 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 batD~)1t#|}f*L?v42+EX84ofZW{?B`kY*Ov diff --git a/S1.02/Jeu/src/Labyrinthe.java b/S1.02/Jeu/src/Labyrinthe.java index effadd1..52c51a0 100644 --- a/S1.02/Jeu/src/Labyrinthe.java +++ b/S1.02/Jeu/src/Labyrinthe.java @@ -567,6 +567,29 @@ class Labyrinthe extends Program{ assertFalse(equals(tab1, tab4)); } + boolean estInt(String verif){ + if(length(verif) == 0){ + return false; + } + for(int i = 0; i < length(verif); i ++){ + if(charAt(verif, i) < '0' || '9' < charAt(verif, i)){ + return false; + } + } + return true; + } + + void testEstInt(){ + String mot1 = "0t6"; + String mot2 = "54"; + String mot3 = "Lolilol"; + String mot4 = ""; + assertFalse(estInt(mot1)); + assertTrue(estInt(mot2)); + assertFalse(estInt(mot3)); + assertFalse(estInt(mot4)); + } + void algorithm(){ Salle[][] lab = genererLab(3); //genere le Layrinthe String[][] questionTemp = load("ressources/ListeQuestion.csv"); @@ -574,7 +597,19 @@ class Labyrinthe extends Program{ boolean ques = equals(toLowerCase(readString()), "o"); if(ques){ print("Combien voulez vous en ajouter ? : "); - int nbAjout = readInt(); + int nbAjout = 0; + while(nbAjout <= 0){ + String nb = readString(); + while(!estInt(nb)){ + print("Veuillez entrer un nombre valide : "); + nb = readString(); + } + nbAjout = stringToInt(nb); + if(nbAjout <= 0 ){ + print("Veuillez choisir un nombre positif non nul : "); + } + + } ajoutQuestion(questionTemp, nbAjout); questionTemp = load("ressources/ListeQuestion.csv"); afficheStringTab(questionTemp); -- GitLab