[débutant] Problème avec Vector !
Bonjour tout le monde !
J'ai 3 classes : une classe pions.java, une classe couleurs.java et une autre jeu.java.
dans la classe pions j'ai ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| package mastermind;
import java.util.*;
import utilensemjava.*;
/**
* <p>Titre : </p>
*
* <p>Description : </p>
*
* <p>Copyright : Copyright (c) 2009</p>
*
* <p>Société : </p>
*
* @author non attribuable
* @version 1.0
*/
public class pions {
Vector pions = new Vector();
// creation du vecteur pions
public Vector pions() {
pions.addElement(new couleurs("blanc"));
pions.addElement(new couleurs("rouge"));
pions.addElement(new couleurs("vert"));
pions.addElement(new couleurs("bleu"));
pions.addElement(new couleurs("rose"));
pions.addElement(new couleurs("orange"));
pions.addElement(new couleurs("jaune"));
pions.addElement(new couleurs("violet"));
return pions;
}
} |
dans la classe couleurs :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| package mastermind;
import java.util.*;
import utilensemjava.*;
/**
* <p>Titre : </p>
*
* <p>Description : </p>
*
* <p>Copyright : Copyright (c) 2009</p>
*
* <p>Société : </p>
*
* @author non attribuable
* @version 1.0
*/
//création d'objets couleur
public class couleurs {
String couleur;
public couleurs(String nom) {
couleur=nom;
}
} |
et dans la classe jeu.java :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| package mastermind;
import java.util.*;
import utilensemjava.*;
/**
* <p>Titre : </p>
*
* <p>Description : </p>
*
* <p>Copyright : Copyright (c) 2009</p>
*
* <p>Société : </p>
*
* @author non attribuable
* @version 1.0
*/
public class jeu {
boolean gagner;
Vector proposition = new Vector();
// on cree 2 vecteurs pour stocker les reponses utilisateurs a chaque proposition pour les comparer
Vector bonnesCouleurs = new Vector();
Vector bienPlaces = new Vector();
//On importe l'objet pions
pions V=new pions();
Vector pionsincertains=new Vector();
public jeu() {
int pcjoue=Lecture.lireEntier("Tapez 1 si vous voulez jouer contre l'ordinateur ! Sinon tapez 0 ");
// Si c'est le pc qui joue
if(pcjoue==1) {
// premiere proposition aleatoire de l'ordinateur
for(int p=1;p<=4;p++) {
Random alea=new Random();
int n=alea.nextInt(5);
proposition.addElement(V.pions.elementAt(n));
}
// on affiche la proposition
for (int i = 0; i < ((int) proposition.size()); i++) {
System.out.println((((Vector)proposition.elementAt(i))));
} |
(je n'ai pas mis en entier la classe jeu)
Mon problème est le suivant : quand je compile mon projet, tout va bien...seulement quand je rentre "1" dans la console...je rentre dans la condition pcjoue==1 et la c'est le drame !
j'obtiens cette erreur :
Code:
1 2 3 4 5
| Tapez 1 si vous voulez jouer contre l'ordinateur ! Sinon tapez 0 1
java.lang.ArrayIndexOutOfBoundsException: 2 >= 0
at java.util.Vector.elementAt(Vector.java:431)
at mastermind.jeu.<init>(jeu.java:41) |
Le problème ce situe au niveau de la boucle for p avec le random et l'ajout d'éléments dans le vecteur proposition...mais je ne voie pas du tout pourquoi cela ne marche pas ! Est ce que quelq'un pourrai m'aider svp ?
Bonne apres midi ! et merci