Boucle et affichage JAVA
jedwed123
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai un souci concernant mon oligo.
En effet
*j'ai un message d'erreur : java.lang.ArrayIndexOutOfBoundsException: 3
(cela concerne la taille de ma colonne mais je ne vois pas ou est l'erreur)
*je n'arrive pas à afficher ma grille en un seul bloc (j'ai les lignes qui s'affiche puis je doit cliquer sur OK pour que le contenu d'une case s'affiche et ainsi de suite)
je voudrais
1 2 3
---------------
1 | -| - | - |
---------------
2 | -| - | - |
---------------
3 | -| - | - |
Voiçi mon algo
import javax.swing.JOptionPane;
import static java.lang.System.*;
import java.util.Scanner;
public class essai{
public static void main(String[] args){
char d = 'X';
char e = 'O';
char c = '-';
//déclaration d'un tableau de chaine de caractère
char[][] grille = new char[3][3];
// créer un tableau rempli du caractère '-'
for(int i=0; i<grille.length; i++){
for(int j=0; j<grille[0].length;j++){
grille[i][j] = c;
}
}
}
static void affichergrille(char [][] t){
JOptionPane.showMessageDialog
(null,
"1\t\t\t 2\t\t\t 3\t\t\t \n ------------\n",
"Tic Tac Toe",JOptionPane.INFORMATION_MESSAGE);
for (int i=1; i<=t.length; i++){//on affiche les lignes
//System.out.println (barre);
JOptionPane.showMessageDialog
(null,
i+" | "+" | "+" | "+" | ",
"Tic Tac Toe",JOptionPane.INFORMATION_MESSAGE);
for(int j=1;j<=t[1].length;j++) //on affiche les colonnes
{
//System.out.print(" "+t[i][j]+" "); //on laisse un espace entre chaques cotés du caractère pour plus de lisibilité
//System.out.print("|");
JOptionPane.showMessageDialog
(null,
" "+t[i][j],
"Tic Tac Toe",JOptionPane.INFORMATION_MESSAGE);
}
}
}
J'ai un souci concernant mon oligo.
En effet
*j'ai un message d'erreur : java.lang.ArrayIndexOutOfBoundsException: 3
(cela concerne la taille de ma colonne mais je ne vois pas ou est l'erreur)
*je n'arrive pas à afficher ma grille en un seul bloc (j'ai les lignes qui s'affiche puis je doit cliquer sur OK pour que le contenu d'une case s'affiche et ainsi de suite)
je voudrais
1 2 3
---------------
1 | -| - | - |
---------------
2 | -| - | - |
---------------
3 | -| - | - |
Voiçi mon algo
import javax.swing.JOptionPane;
import static java.lang.System.*;
import java.util.Scanner;
public class essai{
public static void main(String[] args){
char d = 'X';
char e = 'O';
char c = '-';
//déclaration d'un tableau de chaine de caractère
char[][] grille = new char[3][3];
// créer un tableau rempli du caractère '-'
for(int i=0; i<grille.length; i++){
for(int j=0; j<grille[0].length;j++){
grille[i][j] = c;
}
}
}
static void affichergrille(char [][] t){
JOptionPane.showMessageDialog
(null,
"1\t\t\t 2\t\t\t 3\t\t\t \n ------------\n",
"Tic Tac Toe",JOptionPane.INFORMATION_MESSAGE);
for (int i=1; i<=t.length; i++){//on affiche les lignes
//System.out.println (barre);
JOptionPane.showMessageDialog
(null,
i+" | "+" | "+" | "+" | ",
"Tic Tac Toe",JOptionPane.INFORMATION_MESSAGE);
for(int j=1;j<=t[1].length;j++) //on affiche les colonnes
{
//System.out.print(" "+t[i][j]+" "); //on laisse un espace entre chaques cotés du caractère pour plus de lisibilité
//System.out.print("|");
JOptionPane.showMessageDialog
(null,
" "+t[i][j],
"Tic Tac Toe",JOptionPane.INFORMATION_MESSAGE);
}
}
}
A voir également:
- Boucle et affichage JAVA
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - 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
5 réponses
Bonsoir Jedwed123,
Pour la question 2, cela me semble normal que ton affichage soit interrompu par une boite de dialogue puisque tu as programmé cela :
JOptionPane.showMessageDialog(...);
Pour la question 2, cela me semble normal que ton affichage soit interrompu par une boite de dialogue puisque tu as programmé cela :
JOptionPane.showMessageDialog(...);
Je confirme :)
En revanche est-ce qu'il y a là tout le code?
Et pour le OutOfBound, non je dirais qu'il a raison, il te dit 3, or un tableau commence à 0 donc 0-1-2 et si tu cherches à faire un tab[3] tu vas avoir des problèmes ...
En revanche est-ce qu'il y a là tout le code?
Et pour le OutOfBound, non je dirais qu'il a raison, il te dit 3, or un tableau commence à 0 donc 0-1-2 et si tu cherches à faire un tab[3] tu vas avoir des problèmes ...
L'erreur pour le Out Of Bound est sur la ligne
Les indices comme,cent de 0 à lenght - 1.
et JOptionPane dans une boucle c'est pas correct et donnera pas le résultat attendu, utilise simplement le System.out.print
Bon Courage
for(int j=1;j<=t[1].length;j++) //on affiche les colonnes
Les indices comme,cent de 0 à lenght - 1.
et JOptionPane dans une boucle c'est pas correct et donnera pas le résultat attendu, utilise simplement le System.out.print
Bon Courage
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
Et puis attention: tu déclares ton tableau "grille" et ensuite tu le traites sous le nom "t" et en plus dans des boucles:
et:
donc en ignorant le 1er élément, et jusqu'à la longueur 3 (<=t.length)
Ce qui montre que le bout de code que tu nous donnes ne peut correspondre au code que tu utilises...
Cordialement,
Dan
Et puis attention: tu déclares ton tableau "grille" et ensuite tu le traites sous le nom "t" et en plus dans des boucles:
for (int i=1; i<=t.length; i++){//on affiche les lignes
et:
for(int j=1;j<=t[1].length;j++) //on affiche les colonnes (et ici pourquoi <=t[1].length ?)
donc en ignorant le 1er élément, et jusqu'à la longueur 3 (<=t.length)
Ce qui montre que le bout de code que tu nous donnes ne peut correspondre au code que tu utilises...
Cordialement,
Dan