int[] monTableau;
déclaration d'un tableau de nombres entiers
monTableau = new int[10]; initialisation
du tableau
forme générale : new typeElement[taille du tableau]
on peut aussi initialiser le tableau directement en énumérant
ses éléments.
boolean[] reponse = { true, false, true, true, false };
Le premier élément du tableau se trouve à l'index
0. notation : monTableau[0]
La taille du tableau (nombre d'éléments) est donnée
par l'expression : nomDuTableau.length
Le dernier élément du tableau se trouve donc à
l'index nomDuTableau.length-1
Pour parcourir un tableau, on utilisera donc une boucle.
Exemple :
Terminal t = new Terminal();
String[] jours = { "lundi", "mardi", "mercredi", "jeudi", "vendredi",
"samedi", "dimanche" };
for (int i=0; i<jours.length; i++){
t.ecrireString(jours[i]);
}
Exemple
On ajoute à la classe Tortue une variable tableau qui est prévue pour contenir les coordonnées des 100 premiers points où la tortue est passée. (chaque point représente l'extrémité d'un trait dessiné par la méthode avance)
class Tortue extends SuperTortue{
Coordonnee[] tableau =
new Coordonnee[100];
//tableau pour conserver que les 100 premières
coordonnées de la tortue
int i = 0;
//i indique l'index de la prochaine case libre
dans le tableau
Tortue(){
super();
Coordonnee c = new Coordonnee(300,300);
tableau[i]
= c;
//le point de départ
de la tortue est stocké dans la première case
i
= 1;
//la prochaine case
libre se trouve à l'index 1
}
void av2(int dist){
//la méthode
avance(int dist) ne stocke pas les coordonnées
//on a donc besoin d'une
nouvelle méthode -> av2(int dist)
avance(dist);
if (i < 100){
//tant qu'on n'a pas dépassé 100 coordonnées dans
le tableau
tableau[i] = position();
//après chaque trait, on stocke la nouvelle position de la tortue
i++;
//prochaine case libre
}
}
void redessine(){
//méthode qui
permet de redessiner les 100 premiers traits de la tortue
Coordonnee c = tableau[0];
for(int j=1; j<i;
j++){
dessineTrait(c,tableau[j]);
//on dessine un trait entre les coordonnées tableau[j-1] et tableau[j]
c = tableau[j];
}
}
void spirale(int nbCotes, int nbTours, int increment,
int longInit){
int dist = longInit;
for (int j=0; j<nbTours;
j++){
for (int i=0; i<nbCotes; i++){
av2(dist);
tourneDroite(360/nbCotes);
dist += increment;
}
}
}
}
public class MonProg12a{
public static void main(String[] args){
Tortue rosalie = new
Tortue();
rosalie.spirale(4,10,3,5);
rosalie.nettoie();
rosalie.redessine();
}
}
MonProg12a.java