Java : condition avec plusieurs "sinon"
Résolu
Bonjour,
J'ai un petit souci au niveau des condition, l'exercice étant de mettre les chiffre introduit dans l'ordre croissant, j'ai pu écrire tout le code mais je n'arrive pas a poser mes condition "sinon". j'aimerai trouver le problème mais je ne sais pas par ou commencer
le code :
import java.util.Scanner;
public class data {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int a,b,c;
System.out.println("Veuillez introduire vos 3 nombres :");
a = sc.nextInt();
b = sc.nextInt();
c = sc.nextInt();
if (a<b && b<c)
{
System.out.println(a+", "+b+", "+c);
}
elseif (b<c && c<a);
{
System.out.println(b+", "+c+", "+a);
}
elseif (c<a && a<b);
{
System.out.println(c+", "+a+", "+b);
}
elseif (a<c && c<b);
{
System.out.println(a+", "+c+", "+b);
}
elseif (b<a && a<c);
{
System.out.println(b+", "+a+", "+c);
}
elseif (c<b && b<a);
{
System.out.println(c+", "+b+", "+a);
}
}
private static void elseif(boolean b) {
// TODO Auto-generated method stub
}
}
Quand j'execute il me donne ceci :
Veuillez introduire vos 3 nombres :
1
2
3
1, 2, 3
2, 3, 1
3, 1, 2
1, 3, 2
2, 1, 3
3, 2, 1
Merci
J'ai un petit souci au niveau des condition, l'exercice étant de mettre les chiffre introduit dans l'ordre croissant, j'ai pu écrire tout le code mais je n'arrive pas a poser mes condition "sinon". j'aimerai trouver le problème mais je ne sais pas par ou commencer
le code :
import java.util.Scanner;
public class data {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int a,b,c;
System.out.println("Veuillez introduire vos 3 nombres :");
a = sc.nextInt();
b = sc.nextInt();
c = sc.nextInt();
if (a<b && b<c)
{
System.out.println(a+", "+b+", "+c);
}
elseif (b<c && c<a);
{
System.out.println(b+", "+c+", "+a);
}
elseif (c<a && a<b);
{
System.out.println(c+", "+a+", "+b);
}
elseif (a<c && c<b);
{
System.out.println(a+", "+c+", "+b);
}
elseif (b<a && a<c);
{
System.out.println(b+", "+a+", "+c);
}
elseif (c<b && b<a);
{
System.out.println(c+", "+b+", "+a);
}
}
private static void elseif(boolean b) {
// TODO Auto-generated method stub
}
}
Quand j'execute il me donne ceci :
Veuillez introduire vos 3 nombres :
1
2
3
1, 2, 3
2, 3, 1
3, 1, 2
1, 3, 2
2, 1, 3
3, 2, 1
Merci
2 réponses
-
ContributeurBonjour, pourquoi ne pas placer par un tableau et ensuite faire un tri sur celui ci ?
-
ModérateurTa méthode elseif (qui ne fait rien !) ne pourra jamais remplacer les instructions else et if qu'il faudrait mettre ici !
if (a<b && b<c) { System.out.println(a+", "+b+", "+c); } else if (b<c && c<a) { System.out.println(b+", "+c+", "+a); } else if (c<a && a<b) { System.out.println(c+", "+a+", "+b); } else if (a<c && c<b) { System.out.println(a+", "+c+", "+b); } else if (b<a && a<c) { System.out.println(b+", "+a+", "+c); } else if (c<b && b<a) { System.out.println(c+", "+b+", "+a); }
Remarque :
1) tu ne gères pas le cas où il y a des égalités !
2) ton code peut se simplifier en imbriquant les if les un dans les autres
if (a<b) { if (b<c) { System.out.println(a+", "+b+", "+c); } else // b>=c { ... } } else // a>=b { // ... }