[LAJ1] probleme tableau a 2 dimensions

Voir le sujet précédent Voir le sujet suivant Aller en bas

[LAJ1] probleme tableau a 2 dimensions

Message  trikman le Mar 08 Déc 2009, 14:02

Bonjour,

J'ai un probleme avec le td9 a propos des tableaux a 2dimensions , exercice 1. on demandais de creer une methode de classe qui recoit un tableau a 2dimensions de caracteres en parametre et qui l affiche et ensuite de creer une methode main pour tester celle ci

mon code est correct , il compile et s'execute mis a part que lors de l affichage , il affiche une reponse bizzare composée de lettre, crochet, parenthese, etc ... (comme si il manquait une methode "toString") , j ai donc essayé en ajoutant une methode toString dans ma classe mais ca ne change rien

J ai le meme probleme pour l'exercice 2 forcement ....

que dois-je faire?

merci d'avance,

Martin Autenne

trikman

Nombre de messages : 68
Prénom : martin
Date d'inscription : 04/11/2009

Revenir en haut Aller en bas

Re: [LAJ1] probleme tableau a 2 dimensions

Message  Legenyes le Mar 08 Déc 2009, 14:13

Salut,
que dois-je faire?
Nous monter ton code ?

Legenyes

Nombre de messages : 626
Age : 31
Prénom : Sébastien
Statut : Ancien : Promo 2008-2009
Localisation : Braine-l'Alleud
Date d'inscription : 16/10/2007

Revenir en haut Aller en bas

Re: [LAJ1] probleme tableau a 2 dimensions

Message  mcd le Mar 08 Déc 2009, 14:17

La méthode "toString" ne sert à rien car elle n'est pas dans la classe que tu veux afficher.
Sans voir ton code, je soupsonne que tu essaie d'afficher directement le tableau au lieu de l'afficher explicitement, case par case, ce qui demande une double boucle imbriquée.

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] probleme tableau a 2 dimensions

Message  Legenyes le Mar 08 Déc 2009, 14:24

Si strArray[][] est ton tableau

Code:

for(int i=0;i<strArray.length;i++) {
    for(int j=0;j<strArray[i].length;j++) {
        System.out.print(strArray[i][j]);
    }
    System.out.println();
}

Legenyes

Nombre de messages : 626
Age : 31
Prénom : Sébastien
Statut : Ancien : Promo 2008-2009
Localisation : Braine-l'Alleud
Date d'inscription : 16/10/2007

Revenir en haut Aller en bas

RE

Message  trikman le Mar 08 Déc 2009, 15:01

voila j ai donc 2 code , une classe et une classe main
classe:
public class Tab2d {

private char[][] tab2;


public static char[][] afficher(char[][] tab2){
return tab2;
}

}

classe main:

import java.util.Scanner;

public class Main {


public static void main(String[] args) {
Scanner clavier = new Scanner(System.in);
System.out.println("creation tableau de caractere");
char[][] tableau = {{'a','b','c','d'},{'e','f','g','h'}};
System.out.println(Tab2d.afficher(tableau));
}
}

la compil s'effectue sans probleme , l execution aussi sauf que on m affiche :

creation tableau de caractere
[[C@1aaa14a

.... je l'avoue j'ai raté le labo a propos du td9

martin

trikman

Nombre de messages : 68
Prénom : martin
Date d'inscription : 04/11/2009

Revenir en haut Aller en bas

Re: [LAJ1] probleme tableau a 2 dimensions

Message  trikman le Mar 08 Déc 2009, 15:04

Legenyes a écrit:Si strArray[][] est ton tableau

Code:

for(int i=0;i<strArray.length;i++) {
    for(int j=0;j<strArray[i].length;j++) {
        System.out.print(strArray[i][j]);
    }
    System.out.println();
}


je ne comprend pas biens ta remarque , qu'est ce que Array vient faire la dedans(a quoi sert-il?) , il me semble pas en avoir deja entendu parler au cours ... je me trompe peut etre...

trikman

Nombre de messages : 68
Prénom : martin
Date d'inscription : 04/11/2009

Revenir en haut Aller en bas

Re: [LAJ1] probleme tableau a 2 dimensions

Message  Legenyes le Mar 08 Déc 2009, 15:14

Je ne comprend pas l'utilité de ta classe Tab2D ???

Tu envoie a ta méthode statique ton tableau a afficher. Celle ci te le retourne.
Tu affiche donc la référence de ton tableau.

Comme l'as dis MCD tu dois faire une double boucle pour afficher chaque élément de ton tableau

classe main:
Code:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
          Scanner clavier = new Scanner(System.in);
          System.out.println("creation tableau de caractere");

          char[][] tableau = {{'a','b','c','d'},{'e','f','g','h'}};

          for(int i=0;i<tableau.length;i++) {
              for(int j=0;j<tableau[i].length;j++) {
                    System.out.print(tableau[i][j]);
              }
              System.out.println();
          }
    }
}

Legenyes

Nombre de messages : 626
Age : 31
Prénom : Sébastien
Statut : Ancien : Promo 2008-2009
Localisation : Braine-l'Alleud
Date d'inscription : 16/10/2007

Revenir en haut Aller en bas

Re: [LAJ1] probleme tableau a 2 dimensions

Message  pbt le Mar 08 Déc 2009, 15:14

trikman a écrit:
Legenyes a écrit:Si strArray[][] est ton tableau

je ne comprend pas biens ta remarque , qu'est ce que Array vient faire la dedans(a quoi sert-il?) , il me semble pas en avoir deja entendu parler au cours ... je me trompe peut etre...

strArray est le nom de son tableau, toi tu l'appelles tab2 ... à chacun son choix.

Par contre ta méthode affiche est assez maigre, puisqu'elle n'affiche rien et retourne ton tableau ... ce qui fait que tu affiches en fait le "hashcode" de ton tableau.

Comme l'a dit mcd et comme te le montre Antho, il faut parcourir le tableau et afficher (avec un System.out.print) chacun des éléments de ton tableau.

Je ne donne pas de code, puisque celui d'Antho fait l'affaire.

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

RE

Message  trikman le Mar 08 Déc 2009, 16:00

aaaaaaaaah d'accord c'est du hashcode !

pour revenir a la remarque d antho,

j ai créé 2 class car je pensais que l'exercice le demandais il etait noté :
Exercices
Affichage
Écrivez une méthode de classe qui reçoit un tableau à 2 dimensions de caractères et qui l'affiche.
Écrivez une méthode main afin de tester celle-ci.

merci legenyes, j avais donc compris que je devais faire 2 class , le probleme venait de la en partie a mon avis et je trouvait que c etait un peut inutile de creer 2 class pour un simple exercice

merci mcd et ptb , je pensais que le fait de retourner un tableau revenait a faire un system.out.println lors d un appel de la methode dans le main, ce qui explique l affichage du hashcode et je ne savais pas que on devait utiliser une boucle

merci encore pour votre aide ,

Martin

trikman

Nombre de messages : 68
Prénom : martin
Date d'inscription : 04/11/2009

Revenir en haut Aller en bas

Re: [LAJ1] probleme tableau a 2 dimensions

Message  Legenyes le Mar 08 Déc 2009, 16:13

/me se demande pourquoi tous le monde l'appelle Antho

Code:
public void afficheTab2D(char[][] tab)
{
    // double boucle pour afficher chaque élément
}

Legenyes

Nombre de messages : 626
Age : 31
Prénom : Sébastien
Statut : Ancien : Promo 2008-2009
Localisation : Braine-l'Alleud
Date d'inscription : 16/10/2007

Revenir en haut Aller en bas

Re: [LAJ1] probleme tableau a 2 dimensions

Message  pbt le Mar 08 Déc 2009, 17:06

Legenyes a écrit:/me se demande pourquoi tous le monde l'appelle Antho
Sorry Legenyes ...

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] probleme tableau a 2 dimensions

Message  Wark le Mar 08 Déc 2009, 17:12

trikman a écrit:
merci legenyes, j avais donc compris que je devais faire 2 class , le probleme venait de la en partie a mon avis et je trouvait que c etait un peut inutile de creer 2 class pour un simple exercice

2 classes ?

Moi je vois une méthode statique et un main.. m'enfin.

/me n'a pas l'énoncé devant les yeux.

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: [LAJ1] probleme tableau a 2 dimensions

Message  Contenu sponsorisé Aujourd'hui à 10:51


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum