Obtenir valeurs d'un tableau

smooth5185 Messages postés 4 Date d'inscription vendredi 8 février 2008 Statut Membre Dernière intervention 21 mars 2009 - 20 mars 2009 à 22:37
smooth5185 Messages postés 4 Date d'inscription vendredi 8 février 2008 Statut Membre Dernière intervention 21 mars 2009 - 21 mars 2009 à 19:08
Bonjour,
Je débute en java et j'aimerais savoir comment obtenir les valeurs d'un tableau que j'ai crée dans une autre classe.
Cela peut aussi etre une liste de valeur.
merci pour votre aide.

5 réponses

Utilisateur anonyme
21 mars 2009 à 01:00
Bonjour,

Et comment l'as-tu créé ce tableau ?

- en lisant un fichier et en enregistrant les données lues dans ce tableau.
- en les entrant à l'aide du clavier dans un JtextFile puis en les enregistrant dans le tableau
- directement depuis le clavier et en les enregistrant dans le tableau
- etc...

Mais ce quíl faut savoir, c'est que quelle que soit la saisie, tout ce que tu crées dans un tableu, ou par exemple dans une JTextArea, n'est utilisable que jusqu'à la sortie du programme. Un tableau n'est pas un fichier.

Donc, si tu n'as pas enregistré les données du tableau par exemple dans un fichier texte ce n'est pas possible.

Par contre supposons que  dans une classe A (externe) disposant d'une méthode pour créer le tableau monTableau à partir du clavier et qu'il y soit prévu de retourner le tableau en fin de création return

monTableau;Depuis une autre classe B par exemple tu peux faire appel à cette méthode de la classe A et demander qu'elle te retourne le tableau de la manière suivante :

depuis la méthode main de la classe B
String[] leTableau = A.methodeCreTableau();

Ce qui signifie que la méthode methodeCreTableau de la classe A doit être static puisque main es static obligatoirement.

Tu vas peut-être me dire "alors pourquoi une méthode d'une classe externe et ne pas la mettre dans la classe B?"

Ben oui celà semblerait plus logique, surtout si aucun autre programme ne l'utilisera, mais est-ce bien certain?

N'hésites pas à demander, mais surtout, si tu décides de procéder comme ci-dessus, montres nous ce que tu as fait.

Cordialement,

...\ Dan /...
0
smooth5185 Messages postés 4 Date d'inscription vendredi 8 février 2008 Statut Membre Dernière intervention 21 mars 2009
21 mars 2009 à 12:54
Voici mon code: je crée en fait dans ma classe main des variables aléatoires qui suivent une loi uniforme. J'aimerais donc ds une autre classe reprendre les valeurs de ce tableau:
Merci pour ton aide.

public










class


loi_uniforme {




public







static







void


main(String[]args){




int


n = 10000;




double


[] U=



new







double


[n];




int


i=0;




double


esp=0;




double


var=0;




double


esp2=0;




for


(i=0;i<n;i++){U[i]=Math. random ();

System.




out


.println(U[i]);esp + = U[i]/n;

esp2 += U[i]*U[i]/n;

}

var=esp2-esp*esp;

System.




out


.println(


"\nespérance de la loi uniforme[0,1]: "

+esp);System.




out


.println(


"variance de la loi uniforme[0,1]: "

+var);System.




out


.println(


"Précision espérance = "

+Math. abs (esp - 1.0/2.0));System.




out


.println(


"Précision variance = "

+Math.abs(var - 1.0/12.0));}

}
0
Utilisateur anonyme
21 mars 2009 à 15:10
Bonjour,

C'est parfait car il n'y a pas de saisie!
Tu modifies la classe (où tu crée ton tableau) comme ceci:

public

class Loi_uniforme {

publicstaticdouble[] varAleatoires(){

int n = 10000;

double [] tableauU= newdouble [n];

int i=0;

double esp=0;

double var=0;

double esp2=0;

for (i=0;i<n;i++){
tableauU[i]=Math.random();

System.out.println(tableauU[i]);
esp += tableauU[i]/n;

esp2 += tableauU[i]*tableauU[i]/n;

}

var=esp2-esp*esp;

System.out.println( "\nespérance de la loi uniforme[0,1]: " +esp);
System.out.println( "variance de la loi uniforme[0,1]: " +var);
System.out.println( "Précision espérance = " +Math.abs(esp - 1.0/2.0));
System.out.println( "Précision variance = " +Math.abs(var - 1.0/12.0));
return tableauU;
}
}

Depuis une autre classe par exemple ... class AutreClasse :

publicclass AutreClasse
{
publicstaticvoid main(String[] args)
{
double[] tableauU = Loi_uniforme.varAleatoires();
for (int i = 0; i< tableauU.length; i++)
{
System.out.println("leTableau[" + i + "] :" + tableauU[i]);
// en fait utilisation du tableauU
}
}
}

et c'est tout!!!

Cordialement,

Dan

...\ Dan /...
0
Utilisateur anonyme
21 mars 2009 à 15:42
Ps,


On peut, après les (ou à la pace  des) 4 println

System.out.println(
"\nespérance de la loi uniforme[0,1]: " +esp);
System.out.println(
"variance de la loi uniforme[0,1]: " +var);
System.out.println(
"Précision espérance = " +Math.abs(esp - 1.0/2.0));
System.out.println(
"Précision variance = " +Math.abs(var - 1.0/12.0));
ajouter ou remplacer par

String info =
"\nespérance de la loi uniforme[0,1]: " +esp + "\n"

+ "variance de la loi uniforme[0,1]: " +var + "\n"

+ "Précision espérance = " +Math.abs(esp - 1.0/2.0) + "\n"

+ "Précision variance = " +Math.abs(var - 1.0/12.0) + "\n";
javax.swing.JOptionPane.showMessageDialog(
null,info);

return tableauU;





...\ Dan /...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
smooth5185 Messages postés 4 Date d'inscription vendredi 8 février 2008 Statut Membre Dernière intervention 21 mars 2009
21 mars 2009 à 19:08
Je te remercie beaucoup.
A bientot.
0
Rejoignez-nous