Java : condition avec plusieurs "sinon"

[Résolu/Fermé]
Signaler
Messages postés
159
Date d'inscription
mardi 17 avril 2012
Statut
Membre
Dernière intervention
6 mars 2019
-
Messages postés
16404
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 octobre 2021
-
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

2 réponses

Messages postés
8319
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 580
Bonjour, pourquoi ne pas placer par un tableau et ensuite faire un tri sur celui ci ?
Messages postés
16404
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 octobre 2021
2 897
Ta 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
{
	// ...
}
Messages postés
159
Date d'inscription
mardi 17 avril 2012
Statut
Membre
Dernière intervention
6 mars 2019
20
Ok merci, j'ai reussi. Mais la methode du tableau ma l'air pas mal aussi (un ami la fais mais ne me la pas expliquer, trop "occuper") c'est plus rapide a "coder"??
Messages postés
16404
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 octobre 2021
2 897
La méthode du tableau est surtout très générale, car elle fonctionnera de la même façon pour 2, 3, 4, ... ou 100000 valeurs !