Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de boucle while

erreur dans eclipse

Sujet résolu
    30 août 2019 à 22:27:36

    Bonjour, j'ai un souci avec eclipse.

    J'ai tapé le code pour la boucle while du cours, il m'affiche des erreurs.

    Je me dis que j'ai oublié une virgule ou autre, malgré vérification, je fais un copier coller du code du cours. Même résultat. Des erreurs.

    Voici le code, avec en commentaire les erreurs affiché par eclipse (petite croix rouge à gauche de la ligne)

    package java1;
     
    import java.util.Scanner;
     
    public class test01 {
        String prenom;
        char reponse = 'O';
        Scanner sc = new Scanner(System.in); //Syntax error on token ";", { expected after this token
     while (reponse == 'O')
        {
          System.out.println("Donnez un prénom : ");
          prenom = sc.nextLine();
          System.out.println("Bonjour " +prenom+ ", comment vas-tu ?");
          reponse = ' ';
                                 
          while(reponse != 'O' && reponse != 'N')
          {
            System.out.println("Voulez-vous réessayer ? (O/N)");
            reponse = sc.nextLine().charAt(0);
          }
        }
        System.out.println("Au revoir…");
    } //Syntax error, insert "}" to complete ClassBody

    Je ne comprends pas d'où vient le problème.

    Ligne 8, J'ai compris qu'il demande un { et non un ; , mais pourquoi ?

    Dernière ligne, J'ai compris  qu'il demande un } à la fin du code, mais pourquoi ? mes accolades sont toutes en paires, pas besoin d'une fermante...

    J'ai pu faire les codes précédents du cour sans erreurs.

    J'ai passé aussi sans problème le cours sur JavaScript (oui je sais, "ça n'a rien à voir avec Java", simplement pour dire que je m'y connais un peu en code)

    Merci !

    -
    Edité par Wouarzazat 30 août 2019 à 22:30:15

    • Partager sur Facebook
    • Partager sur Twitter
      30 août 2019 à 23:50:03

      Bonsoir,

      C'est normal, il manque la méthode "Main" pour que le code fonctionne. D'ailleurs, je suis d'accord avec toi que lorsque l'on mets un code c'est bien de tout mettre sinon ça complique les choses surtout dans les tutoriels.

      Voilà comment ça devrait être :

      package java1;
      
      import java.util.Scanner;
      
      public class test01 {
      	public static void main(String[] args) {//la méthode main pour que le code fonctionne
      
      		String prenom;
      		char reponse = 'O';
      		Scanner sc = new Scanner(System.in); // Syntax error on token ";", { expected after this token
      		while (reponse == 'O') {
      			System.out.println("Donnez un prénom : ");
      			prenom = sc.nextLine();
      			System.out.println("Bonjour " + prenom + ", comment vas-tu ?");
      			reponse = ' ';
      
      			while (reponse != 'O' && reponse != 'N') {
      				System.out.println("Voulez-vous réessayer ? (O/N)");
      				reponse = sc.nextLine().charAt(0);
      			}
      		}
      		System.out.println("Au revoir…");
      		// Syntax error, insert "}" to complete ClassBody
      	}
      }

      On mets 2 accolades à la fin pour fermer la classe et la méthode Main...

      -
      Edité par Nemo404 30 août 2019 à 23:51:40

      • Partager sur Facebook
      • Partager sur Twitter
        31 août 2019 à 13:25:24

        Bonjour,

        ah oui il te manque la methode main a la suite de ta classe main, je disais des betises aussi.

        -
        Edité par GeraudMonteils 1 septembre 2019 à 9:38:01

        • Partager sur Facebook
        • Partager sur Twitter
          31 août 2019 à 14:18:55

          Pour reformuler : le while de la ligne 11 est une instruction, et devrait donc être dans le corps d'une méthode.

          Là elle traine au milieu des déclarations de champs de la classe test01.

          C'est une différence avec javascript où on peut coller des instructions en vrac 

          -
          Edité par michelbillaud 31 août 2019 à 14:21:15

          • Partager sur Facebook
          • Partager sur Twitter
            11 septembre 2019 à 20:05:36

            Merci beaucoup pour vos réponse !

            Effectivement, si c'est pas dans le cours, comment on peut deviner.....

            Je passe le sujet en résolu.

            Bonne continuation !

            • Partager sur Facebook
            • Partager sur Twitter

            Problème de boucle while

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            • Editeur
            • Markdown