Tableau JAVA

jedwed123 Messages postés 4 Statut Membre -  
jedwed123 Messages postés 4 Statut Membre -
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 5413 Statut Membre 894
 
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 Statut Membre
 
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 5413 Statut Membre 894
 
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 Statut Membre
 
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