programmation Java (école d'ingénieur) · Chapitre 7 · Application directe du cours
Prédire l'affichage
Classes et objets · niveau 1 (application)
Énoncé
Sans exécuter le programme, dire ce qu'il affiche. Justifier à l'aide d'un schéma de la mémoire.
class Compteur {
int valeur;
void incrementer() { valeur++; }
}
public class Ex2Lecture {
public static void main(String[] args) {
Compteur a = new Compteur();
Compteur b = new Compteur();
Compteur c = a;
a.incrementer();
b.incrementer();
c.incrementer();
c = b;
c.incrementer();
System.out.println(a.valeur + " " + b.valeur + " " + c.valeur);
System.out.println((a == c) + " " + (b == c));
}
}Corrigé
Il n'y a que deux objets Compteur, créés par les deux new ; appelons-les (désigné au départ par a) et (désigné par b).
Compteur c = a;:cdésigne .- Les trois
incrementer()suivants portent sur , et : vaut , vaut . c = b;:cdésigne maintenant , etc.incrementer()porte à .
Le programme affiche :
2 2 2
false true
a.valeur est la valeur de , b.valeur et c.valeur celle de ; c et b désignent le même objet, pas c et a.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.