Vous êtes sur la page 1sur 2

Exercice sur les exceptions :

Ajouter le traitement des exceptions dans le programme suivant :

//-------------------------------------------------------------------------

import java.util.Scanner;

public class ExempleException {

static int[] tableau={17,12,15,38,29,157,89,-22,0,5};


static int division(int indice,int diviseur){
return tableau[indice]/diviseur;
}
static int clavier(){
Scanner clav=new Scanner(System.in);
return clav.nextInt();
}
public static void main(String[] args){
int x,y;

System.out.println("Entrer l'indice de l'entier à diviser: ");


x = clavier();
System.out.println(" Entrer le diviseur: ");
y = clavier();
System.out.println(division(x, y));

}
}
//-------------------------------------------------------------------------Correction

import java.util.Scanner;

public class ExempleException {

static int[] tableau={17,12,15,38,29,157,89,-22,0,5};


static int division(int indice,int diviseur){
return tableau[indice]/diviseur;
}
static int clavier(){
Scanner clav=new Scanner(System.in);
return clav.nextInt();
}
public static void main(String[] args){
int x,y;
boolean ok;
do { ok=true;
try {
System.out.println("Entrer l'indice de l'entier à diviser: ");
x = clavier();
System.out.println(" Entrer le diviseur: ");
y = clavier();
System.out.println(division(x, y));
} catch (ArithmeticException e) {
System.out.println(" Le diviseur ne doit pas être nul");
ok = false;
} catch (ArrayIndexOutOfBoundsException e) {
int indiceFin = tableau.length - 1;
System.out.println("L'indice doit être entre 0 et " + indiceFin);
ok = false;
} //catch (NumberFormatException e) {
catch (Exception e) {
System.out.println(" Vous devez entrer un nombre entier");
ok = false;
}
}while(!ok);
}
}

Vous aimerez peut-être aussi