Faire crasher un programme

Bonjour, je tente de trouver des solutions pour faire crasher un morceau de programme. Le but étant de voir qu'elle genre de paramètre peut poser problème lorsque l'on ne met pas de précondition.

public class ExerciceEtudiant {

	public static void initTab (String s, int[] a)
	{
		if(!s.equals("vrai"))	//ligne1
		{
			int x = a[0];	//ligne2
			a[3] = x + 3;	//ligne3
		}
		else
		{
			int i = a.length;//ligne4
			while( i != 0)	 //ligne5
			{
				a[i] = i + 'a';//ligne6
				i = i -1;      //ligne7
			}
			a[0] = 'a';	//ligne8
		}
	}
}



Pour le moment je n'ai trouver que un moyen en ligne 3. (mettre un tableau de moins de 3 case. Je ne vois pas d'autre paramètre mais je n'arrive peut être pas encore à l'es voir..

Merci d'avance de votre aide.

2 réponses

  1. Modérateur
    Dans les erreurs classiques :

    NullPointerException : si tu passes null en paramètre

    initTab(s,null);
    initTab(null,a);
    initTab(null,null);

    ArrayIndexOutOfBoundsException : si le tableau n'est pas assez grand

    int[] a = new int[3];
    initTab(s,a);
    1. si je passe nul en paramètre je rentre quand même dans la procédure?
      1. Modérateur
        Oui, mais tu va planter :

        - si s==null : sur l'appel de méthode s.equals
        - si a==null : sur la récupération de la case a[0] ou de l'attribut a.length (selon la valeur de s).