JavaEnoncer .pdf



Nom original: JavaEnoncer.pdf
Titre: Examen 2010 mars
Auteur: Ludo

Ce document au format PDF 1.4 a été généré par PDFCreator Version 1.2.3 / GPL Ghostscript 9.04, et a été envoyé sur fichier-pdf.fr le 24/03/2012 à 00:08, depuis l'adresse IP 92.102.x.x. La présente page de téléchargement du fichier a été vue 1348 fois.
Taille du document: 113 Ko (9 pages).
Confidentialité: fichier public




Télécharger le fichier (PDF)










Aperçu du document


Questions
1. Donner la trace du programme suivant :
public class A {
public static int i;
public int j;
public A() {
i++;
j = i;
}
public static void main(String[] args) {
A x = new A();
A y = new A();
A z = x;
System.out.println("i = " + z.i + "\nj = " + z.j);
}
}

2. Soient A et B deux classes. si B hérite de A alors : (Cocher la (les) bonne(s) réponse(s))
B hérite de tous les membres protégés de A.
B hérite des constructeurs de A.
B ne peut pas hériter d’une autre classe.
A doit être visible pour B.
A doit être finale

1

3. Donner la trace du programme ci-dessous
public class BlackBeltSample {
public static void main(String[] args) {
String name1 = "Bob";
String name2 = new String("Bob");
String name3 = "Bob";
System.out.println("1&2:"+(name1==name2?"":"not ")+"equals");
System.out.println("1&3:"+(name1==name3?"":"not ")+"equals");
}
}

4. Parmi les éléments suivants, cocher ceux qui sont accessibles dans la méthode test() de B
public class A {
public final int a = 10;
private static String b = "ClassA";
protected long c;
}
public class B extends A {
private static String b = "ClassB";
public long c = 1;
public void test() {
}
}

Membre a de A.
Membre b de A.
Membre c de A.
Membre b de B.
Membre c de B.
5. Vous voulez dessiner dans un composant qui dérive de JPanel. Quelle méthode devez-vous
redéfinir ?
public void paint(Graphics g);
public void paint(Graphics2D g);
public void paintComponent(Graphics g);
public void paintComponent(Graphics2D g);
6. Comment provoque-t-on l’appel de cette méthode ?

2

7. Donner la trace du programme suivant :
class A {
public int x;
public A() { x = 1; }
}
class B extends A {
static int y;
public B() { y++; x++; }
public B(int i) { this(); x += i; }
public B(String str) { super(); x += y; }
}
public class Test {
public static void main(String[] args) {
B b1 = new B();
B b2 = new B(10);
B b3 = new B("Bonjour");
System.out.println(b1.x + " " + b2.x + " " + b3.x );
}
}

8. Corriger le code suivant pour qu’il compile
interface I {
static final int x = 5;
protected int y = 2;
void afficher(String str);
}
public class A implements I {
int z;
public A(int z) { this.z = z; }
public static void main(String[] args) {
A a = new A(10);
System.out.println("z = " + a.z + "\nx = " + a.x);
}
}

3

9.

Corriger le code suivant pour qu’il compile

public class Vehicule {
public final String getModel() {
return "Vehicule";
}
public abstract void avancer();
}

public final class Voiture extends Vehicule {{
public final String getModel() {
return "Voiture";
}
}

public class Camion extends Vehicule {
public void avancer() {
System.println("Le camion avance");
}
}

10. On suppose que vous avez écrit une méthode public void lireFichier(String nom) . Lors de son
utilisation, vous obtenez le message suivant du compilateur « Unhandled exception type
IOException » Donner les deux alternatives pour que cela compile

4

Problème : SwimTrainer © JoP
Un entraîneur de natation souhaite gérer l'entraînement de ses nageurs sur son mac préféré.
Pour cela il vous demande de concevoir une application graphique Java. L'application gère à
la fois les nageurs entraînés et les séances d'entraînement.
1

2

3

4

1. - Identifier les composants Swing présents sur cette maquette de l'application.
1:
2:
3:
4:
Pour des raisons de simplicité, on gère les nageurs directement dans une collection Java. Il
faut à présent choisir la collection utilisée.
2. Quel critère permet de trancher entre ArrayList et Vector ?

5

3. On souhaite distinguer les nageurs selon leur spécialité (crawl, brasse, dos, papillon).
Certains nageurs affichent plusieurs préférences. Représentez cette situation à l'aide d'un
diagramme de classes UML.

4. Déclarez les éléments Java traduisant le précédent diagramme. Vous n'implémenterez pas
de méthode particulière.

6

5. On gère l'assiduité des nageurs au fil de la saison. À tout moment, l'entraîneur peut
consulter la présence moyenne d'un nageur sur la saison. La présence moyenne se résume
au rapport entre le nombre de séances auquel le nageur a pris part (attribut du nageur) et le
nombre de séances organisées (attribut public NB_SEANCES de la classe Seances). Proposez
une méthode parcourant le conteneur que vous venez de sélectionner de manière
différente. Le parcours visera à calculer et afficher la moyenne de présence d'un nageur.

La conception des entraînements se fera à travers une fenêtre dédiée. Un entraînement est
constitué d'un ensemble d'exercices de nombre variable. Les exercices sont restreints à un
intitulé et une description.
6. Déclarez les classes nécessaires à la gestion des entraînements, vous n'ajouterez pas de
méthodes particulières.

7

Pour construire un entraînement via l'interface utilisateur, on dispose d'une liste déroulante
(JComboBox) possédant les entrées suivantes : Échauffement, Jambes, Bras, Nage Complète,
Technique, Récupération. L'entraînement se construit à l'aide de 2 boutons :

ajouter un exercice ajoute l'exercice sélectionné dans la liste à l'entraînement courant

valider l'entraînement termine la saisie et crée effectivement l'entraînement
Pour information, la classe Swing JComboBox fonctionne suivant le mécanisme des
ActionListeners. L'élément sélectionné dans la liste de type Object peut être obtenu par la
méthode getSelectedItem() de la classe JComboBox.
7. Implémentez les ActionListeners qui vous permettront de gérer cette configuration.

8

Une nouvelle fenêtre permet à l'entraîneur d'enregistrer les résultats de tests physiques de
ses nageurs. Les données enregistrées sont les suivantes : Test 2000m , 400 nage libre, 5 min.
Une série de tests physiques concerne un nageur particulier. Enfin, l'ensemble des tests des
nageurs doit être consultable afin de comparer leurs résultats.
8. Déclarez les classes vous semblant nécessaires pour gérer le module de tests physiques.

9. Implémentez une méthode getTestsData() qui renvoie un tableau de tableaux de String
(String[][]) contenant les champs suivants : nom du nageur, temps au test 2000m, temps au
test 400 nl, temps au test 5 min. Chaque ligne du tableau contiendra donc les données d'un
nageur. À vous de décider de l'emplacement de cette méthode.

9



Documents similaires


javaenoncer
td constucteur
donneespubliquescs
collection1 corrige
extraits codes reprises donneescs
accesdistant


Sur le même sujet..