Où sont les erreurs dans mon programme Java ?

Coala -  
 Coala -
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

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    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
    1. Nagathael Messages postés 2818 Statut Membre 258
       
      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);
      0
    2. KX Messages postés 19031 Statut Modérateur 3 020
       
      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.
      0
    3. Coala
       
      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
      0
  2. AssassinTourist Messages postés 409 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    Bonjour,
    Quelles erreurs as-tu ?
    0
  3. Nagathael Messages postés 2818 Statut Membre 258
     
    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 ;)
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      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é.
      0