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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| public class tabManip {
/**
* Fonction principale
*
* @param args
*/
public static void main(String[] args) {
int tab[]=new int[10];
decaleDroite(tab, debut, fin); // cette méthode prends 3 paramètres : un tableau d'entier, un indice de début et un indice de fin
decaleGauche(tab, debut, fin);// cette méthode prends 3 paramètres : un tableau de double, un indice de début et un indice de fin
calculeProduit(tab, produit);// cette méthode prends 2 paramètres : un double et un tableau de double
// il faudrait peut être initialiser le tableau AVANT de tenter des opérations dessus
for(int i=0; i<tab.length/2; i++){
tab[i]=i+1;
System.out.println(tab[i]);
}
}
// cette fonction doit renvoyer un tableau de double avec le mot clé return, ce n'est pas le cas pour l'instant..
// et pourquoi pas un tableau de int? Pourquoi double?
/**Correction effectué, void retiré et return ajouté. Une question à quel moment peut-on mettre void ou return ?**/
public static int[] decaleDroite( int tab[], int debut, int fin){
for(int i = fin; i >= debut; i--){
tab[i+1]=tab[i];
tab[debut]=0;
System.out.println(tab[i+1]);
}
return tab;
}
// cette fonction doit renvoyer un double avec le mot clé return, ce n'est pas le cas pour l'instant..
// et pourquoi il prend en paramètre un tableau de double?
/**return ajouté et correction au niveau au niveau de type des variable*/
public static int[] decaleGauche( int tab[], int debut, int fin){
for(int i=debut; i<=fin; i++){
tab[i-1]=tab[i];
tab[fin-1]=0;
System.out.println(tab[i-1]);
}
return tab;
}
// cette méthode n'a pas de type de retour : soit elle ne renvoie rien et il faut mettre void, soit tu veux un résultat et il faut le préciser (int?)
/**
* Correction Effectuée, "return produit" ajouté
*/
public static double produit(double tab[], double produit){
for(int i=1; i<=tab.length; i++){
produit=tab[0];// un tableau, ça commence toujours à 0
/**Correction effectué prdouit=tab[0] ajouté*/
produit=produit*tab[i]; // il faut tester que ta valeur ne soit pas nulle avant de faire une opération
/**Je ne sais pas ce quoi l'erreur, je n'ai pas compris après avoir tester ce bloc seule ça me donne un message d'erreur lors de l'exécution
du genre "java.lang.ArrayIndexOutOfBoundsException"**/
System.out.println(produit);
}
return produit;
// interdit de faire quoi que ce soit après un return
}
} |
Partager