Méthode toString appliquée à un tableau

Résolu/Fermé
Sken - 12 nov. 2011 à 14:11
 Sken - 12 nov. 2011 à 15:45
Bonjour,

J'ai crée un tableau de n réels et j'aimerais l'afficher grace à une méthode toString. Voici les deux méthodes :

public class Table{

// Tableau de réels. Le tableau est alloué pour chaque
// objet de la classe Table crée.

private double[] valeurs;
private static java.util.Random rand = new java.util.Random();

/**
* Constructeur initialisant un tableau de taille n réels
*/

public Table(int n){
if(n>=0){
valeurs=new double[n];
for (int i=0; i<valeurs.length; i++){
valeurs[i]=rand.nextDouble();
}
}
}


public String toString(){

String s=" ";

for(int i=0; i<valeurs.length; i++){

s=s+ valeurs[i];

}

return s;


}
}

Et voici ma classe de test :

public class TesteTable{

public static void main(String[] args){

Table t = new Table(5);

t.toString();

}

}


Ca compile très bien mais le problème est que la méthode toString n'affiche rien... Je vois vraiment pas pourquoi...
Si quelqu'un a une idée. Merci.

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
Modifié par KX le 12/11/2011 à 14:25
La méthode toString n'est pas faite pour afficher quoi que ce soit, regarde sa documentation : Object.toString(). Regarde aussi PrintStream.print(Object) et String.valueOf(Object) pour comprendre pourquoi ce code fait ce que tu veux :

public static void main(String[] args)   
{   
    Table t = new Table(5);    
    System.out.println(t);   
}
La confiance n'exclut pas le contrôle
0
En effet, j'avais zappé ça. Je sais pas pourquoi j'associais toString à la fonction afficher alors que ce n'est pas le cas.

Merci.
0