Où sont les erreurs dans mon programme Java ?

Bonjour,
J'ai beau vérifié toutes les accolades, je ne vois pas où est l'erreur !
Voici mon code :

import java.util.Scanner;


public class classe2 
{
public static void main(String args[])
 {
 System.out.println("Veuillez entrer trois nombres:");
 Scanner x= new Scanner (System.in);
 int a=x.nextInt();
 int b=x.nextInt();
 int c=x.nextInt();
 
 if (a<b)
  { 
  
  if (b<c) 
   System.out.println("a","b","c");
  else
  {
   if (a<c)
   System.out.println("a","c","b");
   else
      }  System.out.println("c","a","b");
      
   } 
 
 else
   {
  if (b>c)
   System.out.println("c","b","a");
  else
   if (c<a)
   System.out.println("b","c","a");
   } 
  
 }
  
}


Pouvez-vous m'aider SVP ??
Merci :)

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Ton problème d'accolades est ligne 23/24 :

       else
          }  System.out.println("c","a","b");

    Autre erreur : println ne prend qu'un seul argument, pas trois. Tu dois donc réécrire tout tes affichages afin d'avoir par exemple
    System.out.println("c,a,b");


    Enfin, concernant ton algorithme, il te manque le cas "b, a, c".La confiance n'exclut pas le contrôle
    1. pour l'impression, ça dépend ce qu'il veut afficher, c'est ta solution si il veut l'affichage strictement des lettres sinon pour l'affichage des valeurs;

      System.out.println(c+","+a+","+b);
    2. Modérateur
      pour l'impression, ça dépend ce qu'il veut afficher
      Il affiche ce qu'il veut certes, mais en respectant la signature de la méthode println qui ne prend toujours qu'un seul argument ! Si on écrit
      ("c","a","b")
      ça fait 3 arguments donc ça plante.
    3. Merci bcp, effectivement il faut tout réécrire, println ne peut pas prendre plusieurs arguments!
      Sinon, je voulais afficher les nombres a b et c en ordre croissant, or il m'affiche les lettres a b c, je devrais enlever les guillemets pour afficher la valeur des variables
  2. Sinon tu crées une ArrayList d'Integer avec a, b et c, tu appliques la méthode sort() et tu imprimes la liste.

    3 lignes de code...faut ouvrir l'API de temps à autre ;)
    1. Modérateur
      Le problème de Coala est purement scolaire, donc l'API il ne doit pas encore connaître.
      Si on voulait vraiment faire ça avec des Collection, j'utiliserai plutôt un TreeSet... ça triera directement les valeurs à l'ajout, ça a une meilleure complexité.