Partage
  • Partager sur Facebook
  • Partager sur Twitter

tuto boucle while

probleme compilation

Sujet résolu
    18 octobre 2008 à 19:46:11

    :) bonjour à tous et merci pour ce site plein de ressources.

    voilà je suis sur les tutaux java : dans les boucles : WHILE

    là je tape le code dans un fichier en .java(que j'appelle While.java) comme ci_joint :

    public class While {

    //Une variable vide
    String prenom;
    // On initialise celle-ci à O pour oui !
    char reponse = "O";
    //Notre objet Scanner, n'oubliez pas l' import de java.util.Scanner
    Scanner sc = new Scanner(System.in);
    //Tant que la réponse donnée est égale à oui
    while(reponse == "O")
    {
    //On affiche une instruction
    System.out.println("Donnez un prénom: ");
    //On récupère le prénom saisi
    prenom = sc.nextLine();
    // On affiche notre phrase avec le prénom
    System.out.println("Bonjour " +prenom+ " comment vas-tu ?");

    //réinitialisation de la variable réponse.
    //Sans çà, nous n' entrions pas dans la deuxième boucle
    reponse = " ";

    //tant que la réponse n'est pas O ou N, on repose la question
    while(reponse != "O" && reponse != "N")
    {
    //On demande si la personne veut faire un autre essai
    System.out.println("Voulez-vous réessayer ?(O/N)");
    //On récupère la réponse de l'utilisateur
    reponse = sc.nextLine().charAt(0);
    }
    }
    //Fin de la boucle
    System.out.println("Au revoir...");
    }


    mais là j'ai un probleme de compilation avec 2 erreurs que voici :

    C:\Program Files\Java\jdk1.5.0_16\bin>javac C:\java\program1\mesprogrammes\While
    .java
    C:\java\program1\mesprogrammes\While.java:9: illegal start of type
    while(reponse == "O")
    ^
    C:\java\program1\mesprogrammes\While.java:32: <identifier> expected
    System.out.println("Au revoir...");
    ^
    2 errors

    pouvez vous m'aidez pour savoir ou est mon erreur ?
    • Partager sur Facebook
    • Partager sur Twitter
      18 octobre 2008 à 20:13:34

      Citation : vegange

      char reponse = "O";/ reponse != "O" && reponse != "N"


      Non ,réponse est une variable de type char donc on met notre caractère entre coutes
      char reponse='O';
      

      • Partager sur Facebook
      • Partager sur Twitter
        18 octobre 2008 à 20:19:51

        En effet et c'est tout à fait normal.

        Tu dois déjà au minimum mettre ton code dans un "main".

        De plus je vois une autre erreur qui est de comparer un char avec un "O" par exemple.
        or "O" signifie que tu tiens une chaine de caractère et non pas un caractère unique.
        Utilise plutôt 'O'.

        Donc au final voila ton code :

        import java.util.Scanner;
        
        public class While 
        {
        
        	public static void main( String [] args )
        	{
        		//Une variable vide
        		String prenom;
        		
        		// On initialise celle-ci à O pour oui !
        		char reponse = 'O';
        		
        		//Notre objet Scanner, n'oubliez pas l' import de java.util.Scanner
        		Scanner sc = new Scanner(System.in);
        		
        		//Tant que la réponse donnée est égale à oui
        		while(reponse == 'O')
        		{
        			//On affiche une instruction
        			System.out.println("Donnez un prénom: ");
        			
        			//On récupère le prénom saisi
        			prenom = sc.nextLine();
        			
        			// On affiche notre phrase avec le prénom
        			System.out.println("Bonjour " +prenom+ " comment vas-tu ?");
        			
        			//réinitialisation de la variable réponse.
        			//Sans çà, nous n' entrions pas dans la deuxième boucle
        			reponse = ' ';
        			
        			//tant que la réponse n'est pas O ou N, on repose la question
        			while(reponse != 'O' && reponse != 'N')
        			{
        				//On demande si la personne veut faire un autre essai
        				System.out.println("Voulez-vous réessayer ?(O/N)");
        				
        				//On récupère la réponse de l'utilisateur
        				reponse = sc.nextLine().charAt(0);
        			}
        		}
        	
        		//Fin de la boucle
        		System.out.println("Au revoir...");
        	}
        }
        


        voila ;) .

        Edit : Ta question avait déjà été à moitié répondu.
        • Partager sur Facebook
        • Partager sur Twitter
          18 octobre 2008 à 20:24:36

          :) merci à tous les 2..exacte j'ai tester le code et çà marche...voici mon fichier corrigé :

          import java.util.Scanner;

          public class While {
          public static void main(String[]argv) {
          //Une variable vide
          String prenom;
          // On initialise celle-ci à O pour oui !
          char reponse = 'o';
          //Notre objet Scanner, n'oubliez pas l' import de java.util.Scanner
          Scanner sc = new Scanner(System.in);
          //Tant que la réponse donnée est égale à oui
          while (reponse == 'o')
          {
          //On affiche une instruction
          System.out.println("Donnez un prénom: ");
          //On récupère le prénom saisi
          prenom = sc.nextLine();
          // On affiche notre phrase avec le prénom
          System.out.println("Bonjour " +prenom+ " comment vas-tu ?");

          //réinitialisation de la variable réponse.
          //Sans çà, nous n' entrions pas dans la deuxième boucle
          reponse = ' ';

          //tant que la réponse n'est pas O ou N, on repose la question
          while(reponse != 'o' && reponse != 'n')
          {
          //On demande si la personne veut faire un autre essai
          System.out.println("Voulez-vous réessayer ?(o/n)");
          //On récupère la réponse de l'utilisateur
          reponse = sc.nextLine().charAt(0);
          }
          }
          //Fin de la boucle
          System.out.println("Au revoir...");

          }
          }
          • Partager sur Facebook
          • Partager sur Twitter

          tuto boucle while

          × 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