Bonjour
je veut bien tester un petit programme a l'aide des assertion.
Exemple:
pourquoi rien n'est affiché a mon écran??Code:
1
2
3
4 public static void main(String args[]){ assert false : "cas impossible"; }
ou aucune exception n'est declanché ?
Version imprimable
Bonjour
je veut bien tester un petit programme a l'aide des assertion.
Exemple:
pourquoi rien n'est affiché a mon écran??Code:
1
2
3
4 public static void main(String args[]){ assert false : "cas impossible"; }
ou aucune exception n'est declanché ?
Bonjour,
le but des assert est d'établir des pré-conditions et/ou des invariants de obucles (ce qui est toujours vrai dans une boucle en gros ;) ). Ils permettent de remplacer les if/else de vérification en quelques sortes. Par exemple,
prenons un code simple :
se traduiraCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 //il faut a soit >=0 et que b soit >=0 int n=a; // Dans ce cas n+b=a+b int som=b; //Dans ce cas, n+som=a+b while (n>0){ //Dans cette boucle on aura toujours : n+som=a+b //et n variera n=n-1; som=som+1; } //En fin de boucle on aura n<=0 et n+som=a+b
si tes assert ne s'affichent pas c'est parce qu'il faut spécifier à la jvm de les utiliser à l'aide de l'argument en ligne de commande : -ea ou -enableassertionCode:
1
2
3
4
5
6
7
8
9
10
11
12 assert a>=0 && b>=0; int n=a; assert n+b==a+b; int som=b; assert n+som=a+b; while (n>0){ assert n+som==a+b : "L'invariant n'est pas vérifié"; n=n-1; som=som+1; assert n+som==a+b : "L'invariant n'est pas vérifié"; } assert n<=0 && n+som==a+b : "L'opération a échoué";
plus d'infos: http://java.sun.com/j2se/1.4.2/docs/...ng/assert.html