Partage
  • Partager sur Facebook
  • Partager sur Twitter

Explication

    17 janvier 2020 à 11:39:12

    Bonjour les ami(e)s,

    Y'a quelque chose que je ne comprends sur le code ci-dessous et j'aimerai avoir plus éclaircissement

    il est dit que " //On répète cette boucle tant que l'utilisateur n'a pas rentré une lettre figurant dans le tableau" ce qui veux dire que tant que l'utilisateur n'entre pas une lettre figurant dans le tableau, la condition sera toujours vraie et on ne va pas sortir de la boucle.

    Et ici on dit " //Si i < 7 c'est que la boucle n'a pas dépassé le nombre de cases du tableau 

    		    if (i < tableauCaractere.length)
    		      System.out.println(" La lettre " +carac+ " se trouve bien dans le tableau !");
    		    else //Sinon
    		      System.out.println(" La lettre " +carac+ " ne se trouve pas dans le tableau !");" puisque tant que l'utilisateur n'entre pas une valeur figurant dans le tableau, selon moi le "else".
    j'aimerai avoir plus d'explication 
    import java.util.Scanner;
    
    public class Exercice {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		char tableauCaractere [] = {'a','b','c','d','e','f','g'};
    		int i = 0;
    		char reponse = ' ',carac = ' ';
    		Scanner sc = new Scanner(System.in);
    		         
    		do {//Boucle principale
    		  do {//On répète cette boucle tant que l'utilisateur n'a pas rentré une lettre figurant dans le tableau
    		    i = 0;
    		    System.out.println("Rentrez une lettre en minuscule, SVP ");
    		                
    		    carac = sc.nextLine().charAt(0);
    		    //Boucle de recherche dans le tableau
    		    while(i < tableauCaractere.length && carac != tableauCaractere[i])
    		      i++;
    		         
    		    //Si i < 7 c'est que la boucle n'a pas dépassé le nombre de cases du tableau 
    		    if (i < tableauCaractere.length)
    		      System.out.println(" La lettre " +carac+ " se trouve bien dans le tableau !");
    		    else //Sinon
    		      System.out.println(" La lettre " +carac+ " ne se trouve pas dans le tableau !");
    		         
    		  }while(i >= tableauCaractere.length);
    
    		  //Tant que la lettre de l'utilisateur ne correspond pas à une lettre du tableau    
    		  do{
    		    System.out.println("Voulez-vous essayer à nouveau ? (O/N)");
    		    reponse = sc.nextLine().charAt(0);
    		  }while(reponse != 'N' && reponse != 'O');      
    		}while (reponse == 'O');
    		                
    		System.out.println("Au revoir !");
    		
    			
    
    	}
    
    }
    



    • Partager sur Facebook
    • Partager sur Twitter
      17 janvier 2020 à 13:30:22

      Regarde la ligne qui clôture ta boucle :

      }while(i >= tableauCaractere.length);

      Donc en effet, on dit à chaque fois à l'utilisateur que la lettre figure (ou pas) dans le tableau, et tant qu'elle n'y figure pas on recommence.

      • Partager sur Facebook
      • Partager sur Twitter
        20 janvier 2020 à 10:41:28

        Salut Zachee54,

        Merci beaucoup, je comprends maintenant

        • Partager sur Facebook
        • Partager sur Twitter

        Explication

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown