Besoin d'aide en java
Ourii
-
Ourii -
Ourii -
Bonjour, voici mon code:
public class Jeux
{
public static void main(String[] args)
{
int i,j;
int hauteur;
int largeur;
/*Recuperation des données*/
hauteur=Integer.parseInt(args[0]);
largeur=Integer.parseInt(args[1]);
char[][] tableauVide= new char[hauteur][largeur];
tableauVide= creerTableau(hauteur,largeur);
System.out.print("Voici le tableau: "+tableauVide);
}
public static char[][] creerTableau(int h, int l)
{
char[][] tab= new char[h][l];
int i,j;
for(i=0; i<h; i++)
{
for(j=0; j<l; j++)
tab[i][j]='*';
}
return tab;
}
}
Je voudrais biensûr qu'il m'affiche un rectangle plein d'étoiles. Ça compile mais affiche ceci: Voici le tableau: [[C@12b6651
Que faire svp?
public class Jeux
{
public static void main(String[] args)
{
int i,j;
int hauteur;
int largeur;
/*Recuperation des données*/
hauteur=Integer.parseInt(args[0]);
largeur=Integer.parseInt(args[1]);
char[][] tableauVide= new char[hauteur][largeur];
tableauVide= creerTableau(hauteur,largeur);
System.out.print("Voici le tableau: "+tableauVide);
}
public static char[][] creerTableau(int h, int l)
{
char[][] tab= new char[h][l];
int i,j;
for(i=0; i<h; i++)
{
for(j=0; j<l; j++)
tab[i][j]='*';
}
return tab;
}
}
Je voudrais biensûr qu'il m'affiche un rectangle plein d'étoiles. Ça compile mais affiche ceci: Voici le tableau: [[C@12b6651
Que faire svp?
A voir également:
- Besoin d'aide en java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
4 réponses
Bonjour,
Lorsque tu fais ton System.println, tu lui demande d'afficher un tableau de 2 dimensions en 1 seule fois, ce qui n'est pas un entier ni une String ou tout autre élément découlant qui pourrait être affiché tel quel.
Ce qui se passe, lorsque tu lui demande d'afficher ça, c'est qu'il affiche l'adresse du tableau, enfin il me semble que c'est ça, en quelque sorte l'adresse mémoire du tableau, enfin je répète à ce qu'il me semble :)
Mais en aucun cas tu ne vas pouvoir afficher ce tableau tel quel ou tout autre tableau via un System.out.println, il te faut pour cela créer une fonction ou faire un for qui va parcourir ton tableau et afficher les caractères *.
Bien qu'il n'y ait pas réellement besoin de tableau, mais c'est un début ;)
Lorsque tu fais ton System.println, tu lui demande d'afficher un tableau de 2 dimensions en 1 seule fois, ce qui n'est pas un entier ni une String ou tout autre élément découlant qui pourrait être affiché tel quel.
Ce qui se passe, lorsque tu lui demande d'afficher ça, c'est qu'il affiche l'adresse du tableau, enfin il me semble que c'est ça, en quelque sorte l'adresse mémoire du tableau, enfin je répète à ce qu'il me semble :)
Mais en aucun cas tu ne vas pouvoir afficher ce tableau tel quel ou tout autre tableau via un System.out.println, il te faut pour cela créer une fonction ou faire un for qui va parcourir ton tableau et afficher les caractères *.
Bien qu'il n'y ait pas réellement besoin de tableau, mais c'est un début ;)
arth a tout a fait raison, lorsque tu affiche un objet dans un println sans avoir écrit un toString() pour cet objet, et en l'occurence ici tu utilise un objet de type primitif (un tableau) donc tu ne peux pas en modifier le toString().
Et ce code pour afficher ton tableau pourrait être quelque chose comme ça (dernière fonction : afficherTableau(...) tout en bas) :
Et ce code pour afficher ton tableau pourrait être quelque chose comme ça (dernière fonction : afficherTableau(...) tout en bas) :
public class Jeux { public static void main(String[] args) { int i,j; int hauteur; int largeur; /* Recuperation des données */ if(args.length >= 2) { hauteur=Integer.parseInt(args[0]); largeur=Integer.parseInt(args[1]); } else { // Dans le cas où un seul paramètre est passé on crée un tableau carré if(args.length == 1) hauteur = Integer.parseInt(args[0]); else hauteur = 3; // Si aucun paramètre ou plus que 2, on instancie le tableau à 3*3 largeur = hauteur; } char[][] tableauVide= new char[hauteur][largeur]; tableauVide= creerTableau(hauteur,largeur); System.out.print("Voici le tableau:\n"+afficherTableau(tableauVide)); } public static char[][] creerTableau(int h, int l) { char[][] tab= new char[h][l]; int i,j; for(i=0; i<h; i++) { for(j=0; j<l; j++) tab[i][j]='*'; } return tab; } public static String afficherTableau(char[][] tableau) { String r = ""; for(int i = 0; i < tableau.length; i++) { for(int j = 0; j < tableau[i].length; j++) { r += tableau[i][j] + " "; } r += "\n"; } return r; } }