Bas de page
Page précédente Sommaire Page suivante
Bas de page

Test2

1) Trouver l'erreur dans ce programme

class Animaux2 {
public static void main(String[] args) {
Canari titi = new Canari(3);
titi.vieillir();
titi.vieillir(2);
titi.crier();
}
}
class Animal {
boolean vivant;
int âge;
int âgeMaxi = 10;
Animal (int a) {
âge = a;
vivant = true;
System.out.println("Un animal de " + a
+ " an(s) vient d'être créé");
}
void vieillir() {
vieillir(1);
}
void vieillir(int a) {
âge += a;
afficheAge();
if (âge > âgeMaxi) {
mourrir();
}
}
void afficheAge() {
System.out.println("C'est l'anniversaire de cet animal.");
System.out.println("Il a maintenant " + âge + " an(s)");
}
void mourrir() {
vivant = false;
System.out.println("Cet animal est mort");
}
void crier() {
}
}
class Canari extends Animal {
Canari(int a) {
âge = a + 2;
vivant = true;
System.out.println("Un canari de " + âge
+ " an(s) vient d'être créé");
}
void crier() {
System.out.println("Cui-cui !");
}
}

La raison de ce problème vient de ce que la classe Canari ne possède pas de constructeur.
La raison de ce problème vient de ce que le constructeur de la classe Animal n'hérite d'aucune autre classe.
La raison de ce problème vient de ce que le constructeur de la classe Canari ne commence ni par this ni par super.

2) Donner le rèsultat de ce programme suivant

class Incr {
public static void main(String[] args) {
int x = 5;
int y = x++;
System.out.println("x = " + x);
System.out.println("y = " + y);
y = ++x;
System.out.println("x = " + x);
System.out.println("y = " + y);
}
}

x = 6 , y = 6 , x = 7 , y = 7
x = 6 , y = 5 , x = 7 , y = 7
x = 6 , y = 5 , x = 7 , y = 6

3) Donner le rèsultat de ce programme suivant

class Decr {
public static void main(String[] args) {
int x = 5;
System.out.println(x);
System.out.println(x--);
System.out.println(x);
System.out.println(--x);
System.out.println(x);
}
}

5 , 5 , 4 , 3 , 4
5 , 5 , 4 , 4 , 3
5 , 5 , 4 , 3 , 5

4) Donner le rèsultat de ce programme suivant

class Egal1 {
public static void main(String[] args) {
Integer a = new Integer(100);
Integer b = new Integer(100);
System.out.println(a == b);
}
}

false
true

5) Que faut-il modifier dnas le code pour compiler le programme suivant?

class Decalage {
public static void main(String[] args) {
short a = 5;
short b = a << 1;
}

Il faut donc un casting explicite pour affecter le résultat à un short
Il faut donc un casting explicite pour affecter le résultat à un float
Il faut donc un casting explicite pour affecter le résultat à un int

Correction du Test2


Haut de page
Page précédente Sommaire Page suivante
Haut de page
Contactez-nous
Conditions d'utilisation
Qui sommes nous?
© 2001 IsepFAQtory Tous droits réservés