| Dans cette fiche... |
| Difficulté :
|
Résultat |
| Lorsque vous devez gérer un nombre élevé de variables, il est préférable de passer par un tableau, plutôt que par s1, s2, s3, s4... |
// ----------------------------------------- // TABLO1 : UTILISATION DES TABLEAUX EN JAVA // -----------------------------------------
import java.applet.*; import java.awt.*;
public class Tablo1 extends Applet
{
// Déclaration et initialisation de tableaux
int tab1[] = {5, 10, 15, 20, 25};
String tab2[] = {"lundi", "mardi", "mercredi", "jeudi", "vendredi"};
// Déclaration de tableaux sans initialisation
int tab3[];
String tab4[];
// Initialisation de l'applet
public void init()
{
// Couleur de fond
setBackground(Color.black);
// Initialisation du tableau d'entiers tab3 = new int[4]; tab3[0] = 28; tab3[1] = 17; tab3[2] = 150; tab3[3] = 19;
// Initialisation du tableau de chaînes tab4 = new String[3]; tab4[0] = "janvier"; tab4[1] = "février"; tab4[2] = "mars"; }
// --------- // AFFICHAGE // ---------
public void paint(Graphics g)
{
int i;
// Affichage du 1er tableau
g.setColor(Color.orange);
for(i = 0; i < 5; i++)
g.drawString(""+tab1[i], 10 + i*20, 15);
// Changement d'un élément dans le 2nd tableau tab2[1] = "???";
// Affichage du 2nd tableau g.setColor(Color.yellow); for(i = 0; i < 5; i++) g.drawString(tab2[i], 10 + i*45, 30);
// Affichage du 3ème tableau
g.setColor(Color.white);
for(i = 0; i < 4; i++)
g.drawString(""+tab3[i], 10 + i*30, 45);
// Et enfin le dernier tableau ! g.setColor(Color.red); for(i = 0; i < 3; i++) g.drawString(tab4[i], 10 + i*50, 60); } }
Les lignes non commentées ont déjà été traitées dans les exemples précédents.
int tab1[] = {5, 10, 15, 20, 25};
String tab2[] = {"lundi", "mardi", "mercredi", "jeudi", "vendredi"};
|
| 2 tableaux sont déclarés et initialisés en même temps. Le premier est
un tableau d'entiers, le second un tableau de chaînes de caractères. Implicitement, chaque tableau a 5 éléments, numérotés de 0 à 4. Ainsi tab1[3] vaut 20. Attention : cette affectation directe de variables (avec les
accolades) ne fonctionne que sur une ligne de déclaration. |
int tab3[]; String tab4[]; |
| Cette fois, on déclare 2 tableaux, mais on ne leur donne pas de valeur. |
tab3 = new int[4]; |
| On réserve de la mémoire pour 4 entiers. Important : cette ligne est impérative avant de pouvoir donner des valeurs au tableau. Il est classique, quand on débute en Java, de l'oublier. Vous obtiendriez alors une NullPointerException à l'exécution de l'applet. Raté :o) ! |
tab3[0] = 28; tab3[1] = 17; tab3[2] = 150; tab3[3] = 19; |
| Maintenant que 4 entiers ont été réservés, il est possible de remplir
le tableau. Notez encore une fois que les indices vont de 0 à 3 (et non de 1 à 4). On pourait bien sûr remplir le tableau par une boucle. |
| for(i = 0; i < 4; i++) g.drawString(""+tab3[i], 10 + i*30, 45); |
| Une boucle permet d'afficher le contenu du tableau, avec un x qui varie
de 30 pixels pour chaque élément. Note : le ""+tab3[i] permet de créer une chaîne de caractères pour l'affichage (il faut convertir les entiers de tab3[] au préalable, pour pouvoir utiliser drawString()). |
Voici le code qui a été utilisé dans cette page HTML pour faire apparaître l'applet :
<applet code="Tablo1.class" width=250 height=90> Votre navigateur n'est pas compatible Java ! </applet>
Pour plus de précisions sur l'intégration d'une applet, cliquez ici.
| Cette section vous intéresse ? Abonnez-vous ! |
|