Bonjour,
Un tableau ne peut pas changer de taille.
Pour faire ce que tu veux tu dois créer un nouveau tableau de taille + 1 et recopier tout ce qu'il contenait avant + l'insertion, puis renvoyer le nouveau tableau comme résultat.
public static int[] insertionTriee(int[] tableau, int note) { int[] result = new int[tableau.length + 1]; int index = 0; while (index < tableau.length && tableau[index] < note) { result[index] = tableau[index]; index++; } // Décalage des éléments pour faire de la place pour la nouvelle note for (int i = tableau.length; i > index; i--) { result[i] = tableau[i - 1]; } result[index] = note; return result; }
Remarque : ta méthode main utilise de manière incorrecte l'insertionTriee puisque le tableau de départ n'est pas trié, donc le résultat ne peut pas être un tableau trié, même si l'insertion se passe au bon endroit.
public static void main(String[] args) { int[] tableau = {1, 5, 7, 9}; int note = 3; tableau = insertionTriee(tableau, note); System.out.println(Arrays.toString(tableau)); // Résultat: [1, 3, 5, 7, 9] }