Bonjour;
Je suis entrain de travailler sur un tableau contenant des valeurs de type double, j'utilise des modules qui contiennent des sous programmes.
J'ai plusieurs questions qui sont les suivantes:
1) J'ai un sous programme du nom de sousTableauReels dans un module, UtilitaireTableau;
il m'affiche [D@40128cad on dirait la réfence du tableauReels, je n'arrive pas à identifier la petite bête afin d'avoir les vrai valeurs du tableau.
voici le code du sous programme et le programme principale(main) et tout en bas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public static double[] sousTableauReels(double [] tableau, int debut, int fin){ double tableauReels[] = new double[fin]; for(int i = debut; i < 5;i++ ){ tableauReels[i] = tableau[i]; } return tableauReels; }
2) Mon tableau contient des valeurs de 2 à 10 initialisé à moitié, j'ai fait 2 sous programmes pour decaler les valeurs à droite/gauche qui m'affichent
Tableau decaller à gauche :
4.0
5.0
6.0
7.0
Tableau decaller à droite :
6.0
5.0
4.0
3.0
J'aimerais avoir les même valeurs de gauche à droite et vice versa
par exemple: 6.0 à 3.0 et de 3.0 à 6.0
3) Je veux créer 2 sous programmes un, pour ajouter un element dans le tableau, j'aimerais avoir l'indice l'endroit où l'element a été ajouté
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public class UtilitaireTableau { //Sous programme pour decaler les valeurs du tableau à gauche public static void decalerGauche(double[] tableau,int nbElmt,int debut, int fin ){ //Declaration du tableau qui reçoit les valeurs double decGauche [] = new double[fin]; System.out.println("Tableau decaller à gauche :"); for(int i = debut; i < fin; i++){ decGauche[i] = tableau[i+1]; System.out.println(decGauche[i]); } } // Sous programme pour decaler les valeurs du tableua a droite public static void decalerDroite( double tableau[], int debut, int fin){ int i = 0; System.out.println("Tableau decaller à droite :"); for(i = fin; i > debut; i--){ tableau[i] = tableau[i-1]; System.out.println(tableau[i]); } } }
si le tableau est plein il y a aucun ajout.
Un autre pour retirer un element dans le tableau et l'indice où l'elmt à été retiré si le tableau est vide il n y a aucun retrait.
J'ai beaucoup réfléchi mais je n'arrive pas à mettre en place l'algorithme;
***************************
Programme principale
****************************
Merci d'avance,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 */ public class Labo3 { public static void main(String[] args){ //Declaration des variables double tableau[] = new double [10]; int nbElmt = 5; int debut = 1; int fin = 5; System.out.println("La moitié des valeurs du tableau sont :"); //Initiaisation du tableau à moitié for(int i = 0; i < tableau.length/2;i++){ tableau[i] = i+2; System.out.println(tableau[i]); } //Afficher les valeurs du tableau remplie à moitié UtilitaireAffichage.afficherTableauReels(tableau); System.out.println("Le produit du tableau "+UtilitaireTableau.produitTableauReels(tableau, nbElmt)); System.out.println("Le sous tableau des réel:"+UtilitaireTableau.sousTableauReels(tableau,debut,fin)); UtilitaireTableau.decalerGauche(tableau, nbElmt, debut,fin); UtilitaireTableau.decalerDroite(tableau, debut,fin); } }
Partager