28 Jan2016
Exception : Suite de Fibonacci
Objectifs :
- Découvrir le mécanisme de la gestion des exceptions.
- Clause try, catch,.
- Clause throw, throws.
- Classe d'exception personnalisée.
Énoncé :
La suite de Fibonacci est définie par :
- Ecrire une fonction calculant le Nième nombre de la suite.
- L'entier saisi doit être impérativement supérieur à 0.
On demande donc de créer une classe d'exception adaptée à cette erreur pour la traiter.
Exemple d’exécution :
Donner un entier
-4
n < 0
Donnez une valeur supérieure à 0
Donner un entier
5
fibo(5) = 8
Question 1
public static int fibo(int n) { if (n == 0 || n == 1) return 1; return fibo(n - 1) + fibo(n - 2); }
Question 2
Classe d'exception personnalisée : FiboException
public class FiboException extends Exception { private static final long serialVersionUID = 1L; public FiboException(String msg) { super(msg); } }
Utilisation
import java.util.Scanner; public class Fibo { public static int fibo(int n) throws FiboException { if (n < 0) throw new FiboException("n < 0"); if (n == 0 || n == 1) return 1; return fibo(n - 1) + fibo(n - 2); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (true) { System.out.println("Donner un entier"); int n = sc.nextInt(); try { System.out.println("fibo(" + n + ") = " + fibo(n)); break; } catch (FiboException e) { System.out.println(e.getMessage()); System.out.println("Donnez une valeur supérieure à 0"); } } } }