Bonjour à tous,
Je débute actuellement en Java et dans la POO étant plus habitué à des langages de dev purement procéduraux.
J'essaye là de lire, une valeur dans un tableau de long sachant que :
- Je ne connais pas la dimension du tableau avant l'appel du constructeur de ma classe
- Pour les besoins de mon application, j'aurais besoin d'affecter des valeurs dans le tableau dans le constructeur de ma classe
- Enfin, je veux qu'une méthode de ma classe soit en mesure de retourner la valeur à partir de l'index du tableau quand elle est appelée (de l’extérieur ou de l'intérieur de la classe)
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 package fr.monprog; public class Main { long tableau[]; // J'ai besoin de déclaré un tableau mais je connais // pas encore la taille dont j'aurais besoin public static void main(String[] args) { long tableau[] = new long[5]; // Maintenant je connais la taille tableau[3] = 147; // Je remplis le tableau avec les valeurs System.out.print(tableau[3]+" (la ca marche)\n"); // La ca marche ... mais... test(3); // Je lis le tableau a l'aide d'une méthode une autre mérhode } public void test(int i){ System.out.print(tableau[i]); // Boum exception :( } }
Résultat :
Qu'est-ce qui m'échappe ?147 (la ca marche)
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot make a static reference to the non-static field tableau
at fr.monprog.Main.test(Main.java:21)
at fr.monprog.Main.main(Main.java:15)
![]()
Partager