Bonjour, Pour cette exercice j'ai fait mon programme mais le résultat n'est pas celui attendu, pouvez-vous m'aider à comprendre pourquoi ? Voici mon programme : import java.io.BufferedReader; import java.io.InputStreamReader; public class Solution4 { public static void main(String[] args) throws Exception { BufferedReader lecteur = new BufferedReader(new InputStreamReader(System.in)); String A = lecteur.readLine(); int a = Integer.parseInt(A); String B = lecteur.readLine(); int b = Integer.parseInt(B); String C = lecteur.readLine(); int c = Integer.parseInt(C); String D = lecteur.readLine(); int d = Integer.parseInt(D); String E = lecteur.readLine(); int e = Integer.parseInt(E); int max1 = 0; int max2 = 0; int min1 = 0; int min2 = 0; int mid = 0; int grandmax = 0; int petitmax = 0; int grandmin = 0; int petitmin = 0; int petitmax2 = 0; int petitmin2 = 0; int grandmiddle = 0; if (a < b){ max1=b; min1= a; mid = a; } else { max1= a; min1= b; mid = b; } if (max1 < c){ mid = max1; max1 = c; } else { if (c < mid){ mid = min1; min1 = c; } else { mid = c; } } if (d < e){ max2=e; min2=d; } else { max2=d; min2=e; } if (max1 < max2){ grandmax = max2; petitmax = max1; } else{ grandmax = max1; petitmax = max2; } if(min1 < min2){ grandmin = min1; petitmin = min2; } else { grandmin = min2; petitmin = min1; } if (petitmin < mid){ petitmin2 = mid; grandmiddle = petitmin; petitmax2 = petitmin; } else{ petitmin2 = petitmin; grandmiddle = mid; petitmax2 = mid; } if (petitmin2 < petitmax){ grandmiddle = petitmin2; petitmin2 = petitmax; } else{ if (petitmax2 < grandmiddle){ petitmax2 = petitmin2; } else { grandmiddle = petitmax2; } System.out.println(grandmin); System.out.println(petitmin2); System.out.println(grandmiddle); System.out.println(petitmax2); System.out.println(grandmax); } } } Voici le résultat obtenu : Les nombres saisis : 4 3 2 6 5 et ça donne cela : 2 5 3 3 6