Tableau JAVA

Fermé
jedwed123 Messages postés 4 Date d'inscription lundi 4 janvier 2010 Statut Membre Dernière intervention 5 janvier 2010 - 4 janv. 2010 à 10:34
jedwed123 Messages postés 4 Date d'inscription lundi 4 janvier 2010 Statut Membre Dernière intervention 5 janvier 2010 - 4 janv. 2010 à 11:53
Bonjour,
J'ai un souci concernant mon algorithme en JAVA:
j'ai un tableau contenant 3 lignes et 3 colonnes, ce tableau est rempli par le caractère '-'.
---
---
---
le joueur 1 indique la position en abscisse et en ordonnée de son coup et un 'X' apparaît dans le tableau à la position indiqué. (exemple abscisse: 0 et ordonnée: 1)
donc j'obtiens
-X-
---
---

Mais voilà , mon souci est que je n'arrive pas à faire cette subsitution.dans mon algo, on me demande sans cesse l'ordonnée
Peut-on m'aider


Voiçi mon code:

char d = 'X';
char e = 'O';

char c = '-';
//déclaration d'un tableau de chaine de caractère
char[][] t = new char[3][3];
// créer un tableau rempli du caractère '-'
for(int i=0; i<t.length; i++)
for(int j=0; j<t[0].length;j++)
t[i][j] = c;



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



//choix du joeur

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

out.println("Entrez l'abscisse de la position de votre coup : ");
int abscisse = in.nextInt();


if (!( abscisse== 0 || abscisse==1 || abscisse== 2))
System.out.println(" erreur de frappe, nouvelle saisie!");
out.print(t[i]);


for(int j=0; j<t[0].length;j++){
out.println("Entrez l'ordonnée de la position de votre coup : ");
int ordonnee = in.nextInt();

out.print(t[i][j]);

t[abscisse][ordonnee] = d;
out.print(t[abscisse][ordonnee]);
out.println();
out.print(t[i][j]);
out.println();
}

Merci par avance
A voir également:

4 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
4 janv. 2010 à 10:44
je ne suis pas super callé en JAVA, mais est ce normal que certaines de tes boucles for soient sans les
{
}

??

Je ne vois pas comment le programme sait ou s'arrête la boucle

perso je les mets toujours, même si une seule instruction, car si par la suite tu en rajoute une tu vas oublier les { }
0
jedwed123 Messages postés 4 Date d'inscription lundi 4 janvier 2010 Statut Membre Dernière intervention 5 janvier 2010
4 janv. 2010 à 10:54
Oui tu as raison vaut mieux les mettre.

import static java.lang.System.*;
import java.util.Scanner;

public class essai{
public static void main(String[] args){
Scanner in = new Scanner(System.in);

char d = 'X';
char e = 'O';

char c = '-';
//déclaration d'un tableau de chaine de caractère
char[][] t = new char[3][3];
// créer un tableau rempli du caractère '-'
for(int i=0; i<t.length; i++){
for(int j=0; j<t[0].length;j++){
t[i][j] = c;
}
}


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



//choix du joeur

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


out.println("Entrez l'abscisse de la position de votre coup : ");
int abscisse = in.nextInt();


if (!( abscisse== 0 || abscisse==1 || abscisse== 2)){
System.out.println(" erreur de frappe, nouvelle saisie!");
}


out.print(t[i]);


for(int j=0; j<t[0].length;j++){
out.println("Entrez l'ordonnée de la position de votre coup : ");
int ordonnee = in.nextInt();

out.print(t[i][j]);

t[abscisse][ordonnee] = d;
out.print(t[abscisse][ordonnee]);
out.println();
out.print(t[i][j]);
out.println();
}


}

}
}
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
4 janv. 2010 à 11:27
pour afficher le tableau comme ça ça irra mieux


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


adaptes la suite à l'image de ça
0
jedwed123 Messages postés 4 Date d'inscription lundi 4 janvier 2010 Statut Membre Dernière intervention 5 janvier 2010
4 janv. 2010 à 11:53
j'ai fait une erreur sur la boucle d'affichage de mon tableau; correction faite.

Pourrait-on m'aider svp. Je bloque

import static java.lang.System.*;
import java.util.Scanner;

public class essai{
public static void main(String[] args){
Scanner in = new Scanner(System.in);

char d = 'X';
char e = 'O';

char c = '-';
//déclaration d'un tableau de chaine de caractère
char[][] t = new char[3][3];
// créer un tableau rempli du caractère '-'
for(int i=0; i<t.length; i++){
for(int j=0; j<t[0].length;j++){
t[i][j] = c;
}
}


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

//à la suite de ceci j'ai
//---
//---
//---


//choix du joeur
//j'aimerais que lorsque le joueur entre abscisse 0 et ordonnée 1
//qu'il obtienne ceci
//-X-
//---
//---



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


out.println("Entrez l'abscisse de la position de votre coup : ");
int abscisse = in.nextInt();


if (!( abscisse== 0 || abscisse==1 || abscisse== 2)){
System.out.println(" erreur de frappe, nouvelle saisie!");
}


out.print(t[i]);


for(int j=0; j<t[0].length;j++){
out.println("Entrez l'ordonnée de la position de votre coup : ");
int ordonnee = in.nextInt();

out.print(t[i][j]);

t[abscisse][ordonnee] = d;
out.print(t[abscisse][ordonnee]);
out.println();
out.print(t[i][j]);
out.println();
}


}

}
}
0