Où sont les erreurs dans mon programme Java ?

Fermé
Coala - Modifié par pijaku le 4/12/2013 à 13:56
 Coala - 6 déc. 2013 à 17:15
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 :)
A voir également:

3 réponses

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
Modifié par KX le 4/12/2013 à 18:42
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
Nagathael Messages postés 2727 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 6 décembre 2013 258
6 déc. 2013 à 02:29
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
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
6 déc. 2013 à 07:54
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
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
AssassinTourist Messages postés 5710 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 311
4 déc. 2013 à 12:58
Bonjour,
Quelles erreurs as-tu ?
0
Nagathael Messages postés 2727 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 6 décembre 2013 258
6 déc. 2013 à 02:19
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
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
6 déc. 2013 à 07:54
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