Bonjour tout le monde..
J'ai un exercice tres simple a realiser: creer deux classes differentes, compiler et tester le programme.. Jusque la tout fonctionne. Ensuite je dois faire d'une de ces deux classe une classe interne de l'autre, et obtenir le meme resultat. C'est ce que j'ai fait moyennent quelques petites modification. et la j'ai essaye je un tas de solutions, et rien ne marchait..
Voici la premiere classes:
et la deuxieme:
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 public class BasicArray { static int thisArray[]={1,2,3,4}; public static void main(String[] args) { int j; int i; for (i=0;i<4;i++) { Factorial a=new Factorial(thisArray[i]); j=a.ComputeFactorial(thisArray[i]); System.out.println(j); } } }
avec deux classe separer mon programme fonctionne..
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 public class Factorial { private int a; public Factorial(int a){ this.a=a; } public int ComputeFactorial(int a){ int result=1; int i; for(i=1;i<=a;i++) { result=result*i; } return result; } }
Mais lorsque je l'assemble afin d'utiliser les classes internes.. ca bloque .. derniere solution en date:
qui ne marche forcement pas car je n'ai pas de constructeur pour la classe BasicArray.. j'ai essaye plusieurs autre trucs, mais je ne sais pas comment faire, si quelqu'un pouvait m'aider, ce serait sympa.. en plus je suis sur que ca doit etre tout bete, mais je ne vois pas..
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
33
34
35 public class BasicArray { static int thisArray[]={1,2,3,4}; public class Factorial { private int a; public Factorial(int a){ this.a=a; } public int ComputeFactorial(int a){ int result=1; int i; for(i=1;i<=a;i++) { result=result*i; } return result; } } public static void main(String[] args) { int j; int i; for (i=0;i<4;i++) { BasicArray.Factorial a=new BasicArray.Factorial(thisArray[i]); j=a.ComputeFactorial(thisArray[i]); System.out.println(j); } } }
Partager