class ExceptionIntervalle extends Exception { ExceptionIntervalle(String s) { super(s); } } class Moyenne { static int moyenne(String[] liste) throws ExceptionRien { int somme = 0,entier, nbEntiers=0; int i; for (String chaine : liste) { try { entier = Integer.parseInt(chaine); if (entier < 0) throw new ExceptionIntervalle("petite"); if (entier > 20) throw new ExceptionIntervalle("grande"); somme += entier; nbEntiers++; } catch (NumberFormatException e) { System.out.println(chaine + " n'est pas entier"); } catch (ExceptionIntervalle e) { System.out.println(chaine + " est trop "+ e.getMessage()); } } if (nbEntiers == 0) throw new ExceptionRien(liste.length); return somme/nbEntiers; } } class EssaiMoyenne { public static void main(String[] arg) { try { System.out. println("La moyenne est "+ Moyenne.moyenne(arg)); } catch (ExceptionRien e) { e.printStackTrace(); } } } /*Pour : java EssaiMoyenne ha 2 -3 27 18 ha n'est pas entier -3 est trop petite 27 est trop grande La moyenne est 10 Pour : java EssaiMoyenne ha -3 ha n'est pas entier -3 est trop petite ExceptionRien : aucune des 2 chaines n'est valide at Moyenne.moyenne(Moyenne.java:28) at EssaiMoyenne.main(Moyenne.java:36) */