erreur "missing return statement"
Bonjour à tous,
Je désire faire une méthode permettant de décomposer un nombre en 2 nombres premiers. Le problème, c'est que j'ai une erreur "missing return statement", pourtant la méthode retourne {-1,-1} , si on ne peut pas décomposer le nombre, et elle retourne {nb1, nb2}, si on peut faire la décomposition, et voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public static int[] decomposition(int n){
int div=2;
int[] erreur={-1,-1};
if(testPrimalite(n))
return erreur;
else
{ //return erreur;
while(div<Math.sqrt(n)){
if(n%div==0){ // Si j'ai trouvé mon diviseur!
if(testPrimalite(n/div) && testPrimalite(div)){
//Les deux diviseurs sont ils premiers?
int[] res={n/div,div};
return res;
//OUI, on les retourne
} else return erreur;
//NON, on retourne une erreur
}else if(div==2)//Si le diviseur est 2, on passe à 3
div++;
else
div+=2;//Sinon on incrémente de deux en deux
}
}
} |
Merci d'avance