Se connecter / S'enregistrer
Votre question

Besoin d'aide: Matrice de caractères en Java

Tags :
  • Java
  • Programmation
Dernière réponse : dans Programmation
16 Octobre 2009 18:40:59

Bonjour,

J'aimerais créer un programme en java qui affiche ceci:

+-----------------+
+ +
+ +
+-----------------+

J'ai le code suivant (qui biensûr ne fonctionne pas dutout comme je le souhaiterais):

char[][] tableau;
tableau=new char[hauteur][largeur];

for(i=0; i<hauteur; i++)
{

for(j=0; j<largeur; j++)
{
tableau[0][j]= '-';
tableau[0]= '+';

System.out.print(tableau[j]);
}
}

Pouvez-vous me dire svp ce qui cloche là dedans? J'ai beau le modifier, je n'obtiens pas le bon affichage.

Merci d'avance!

Autres pages sur : besoin aide matrice caracteres java

16 Octobre 2009 18:42:35

Oups: 2 "+" sont décalés, en réalité les caractères forment un rectangle...
m
0
l
a b L Programmation
16 Octobre 2009 19:19:45

Tu obtiens quoi comme affichage ?
m
0
l
Contenus similaires
16 Octobre 2009 19:22:30

Bonjour,

Ton code me semble "un peu confus".
1/ Tu veux seulement l'afficher le dessin (si oui, pourquoi stocker les caractères ceci dans une matrice ?)
2/ Tu oublies les retour à la ligne pour chaque ligne.
3/ Tu ne mets pas le symbole '+' pour les cases du type tableau[0][1]
4/ Fais attention, au départ, tu fais tableau[0][0]='-', et juste après ='+' !

Indice:
-Pour afficher la 1ere et la dernière, tu peux utiliser un code identique.
-Pour le "centre" de ton dessin, tu peux faire 2 boucles imbriquées pour afficher les 2 '+'

Bon courage, A+
m
0
l
22 Octobre 2009 16:51:53

Bonjour, tout d'abord merci pour vos reponses... Depuis, voilà où j'en suis:

public class Laby
{
public static void main(String[] args)
{


/*Declaration des variables*/
int hauteur;
int largeur;


/*Recuperation des donnees*/
hauteur=Integer.parseInt(args[0]);
largeur=Integer.parseInt(args[1]);


char[][]tableauVide=new char[hauteur][largeur];

tableauVide= creerTableauVide(hauteur,largeur);
}

public static char[][] creerTableauVide(int h, int l)
{
int i,j;

for(i=0; i<h; i++)
{
for(j=0; j<l; j++)
{
if((j==0 && i==0) || (i==h-1 && j==l-1) ||(i==h-1 && j==0) || (i==0 && j==l-1)) System.out.print("+");
else if ((i==0 && j!=0 && j!=l-1) || (i==h-1 && j!=0 && j!=l-1)) System.out.print("-");
else if((j==0 && i!=0 && i!=h-1) || (j==l-1 && i!=0 && i!=h-1)) System.out.print("|");
else System.out.print(" ");
}

System.out.println(" ");

}


}

}


Ma fonction creerTableauVide fonctionne très bien, j'obtiens le rectangle que je voulais. Sauf que je ne sais pas comment faire pour l'utiliser dans mon main, et quel devrait être mon "return"... Normalement je devrais mettre tous les caractères de mon rectangle dans "tableauVide[][]" mais là aussi je bloque...

Merci d'avance les programmeurs...
m
0
l
22 Octobre 2009 23:49:26

Tu aurais du faire colonne puis ligne et non ligne puis colonne ca aurait été plus simple. Les colonnes sont plus "basique". Puisque tu as 2 colonnes juste de +
m
0
l
26 Octobre 2009 14:28:05

D'accord mais stp peux tu répondre à mes autres questions (celles de mon précédent post), juste en bas du code... merci d'avance!
m
0
l
26 Octobre 2009 16:22:36

Voilà 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[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?
m
0
l
27 Octobre 2009 10:51:20

Normal, tu affiches l'adresse mémoire là :)  Si tu veux faire ce genre de chose, il faut que tu rajoute la méthode toString() à ta classe.
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS