Académique Documents
Professionnel Documents
Culture Documents
Serie 2 Java
Serie 2 Java
Exercice 1:
A/
On considère la classe Etudiant définie par :
- les attributs privés suivants : nom, prénom, nombre de notes et un tableau de notes
- les méthodes suivantes : Saisie, Affichage, Moyenne, Admis, Exae_quo (Moyenne
retourne la moyenne des notes, Admis et Exae_quo retournent un résultat booléen,
sachant que Exae_quo compare la moyenne avec celle d’un autre étudiant)
Définir la classe Etudiant en java.
B/
On considère la classe EtudiantMaitrise qui représente les étudiants en maîtrise
- un étudiant de ce type possède un attribut supplémentaire par rapport aux autres
étudiants: note de mémoire.
- Les méthodes associées à cette classe sont : Saisie, Affichage, Moyenne, Admis,
Exae_quo
Définir la classe EtudiantMaitrise en java.
C/
On considère la classe TableEtudiants représentant un tableau d’étudiants pouvant contenir
différents types d’étudiants (en maîtrise ou non). Les méthodes implémentées par cette classe
sont : Ajout d’un étudiant donné en paramètre, Suppression d’un étudiant dont le rang est
donné en paramètre, Nombre d’étudiants admis, Affichage de tous les étudiants du tableau.
Définir la classe TableEtudiants en java.
D/
Ecrivez un programme java permettant de créer un tableau d’étudiants et permettant, à l’aide
d’un menu de donner la possibilité à l’utilisateur de :
- ajouter un étudiant dans le tableau
- supprimer un étudiant
- calculer le nombre d’étudiants admis
- afficher la totalité des étudiants
Exercice 2:
I- On veut définir la classe des disques, un disque étant défini par son centre, qui est un
Point, et par son rayon, que l'on représentera par un double. Le fait qu'un disque soit
construit à partir d'un point (instance d'une classe existant déjà) s'appelle de la composition.
1) Définir la classe Disque avec ses champs centre et rayon.
2) Définir un constructeur acceptant en argument un Point et un double pour initialiser le
disque créé.
3) Définir un constructeur sans argument initialisant le centre du disque au point par défaut
(celui construit par le constructeur de point sans argument) et le rayon à 1.
4) Définir une méthode retournant la surface d'un disque.
2) Créer dans la classe Disque une méthode diametre() et dans la classe Anneau une
méthode diametreInterne().
3) Peut-on disposer d'un constructeur par défaut dans la classe Anneau s'il n'y a pas de
constructeur sans argument dans Disque? Pourquoi?
Résoudre le problème en faisant en sorte qu'un appel à new Anneau() construise un anneau
ayant les caractéristiques d'un disque par défaut et de rayon interne nul.
4) Définir un champ couleur de type String dans la classe Disque. Redéfinir (masquer) ce
champ par un champ couleur de type int dans la classe Anneau. Tester en différents points
du code quel est le champ couleur qui est visible (String ou int). Comment faire, à partir
d'une instance de la classe Anneau, pour récupérer la valeur du champ couleur de type
String.
5) Que pensez vous de la méthode méthode surface() accessible par héritage sur les
instances de la classe Anneau? Redéfinir-la pour qu'elle retourne une valeur correcte pour un
anneau. Comment faire alors, à partir d'une instance de la classe Anneau, pour accéder à la
méthode surface() de la classe Disque?
Correction
Série d’exercices N°2
Exercice 1 :
import java.util.*;
notememoire=(float)Math.abs(R.nextInt()%21);
for(i=0;i<nbactuel;i++)
{
if (!(t[i] instanceof EtudiantMaitrise))
t[i].affichage();
}
}
}
break;
case 2:int indice;
System.out.println("donnez l'indice de
l'etudiant a supprimer");
indice=Readln.unint();
TabE.suppression(indice);
break;
case 3:System.out.println("le nbre d'etudiants admis
est:" +TabE.nbAdmis());
break;
case 4:TabE.affichage();
break;
case 5:TabE.affichermaitrisrds();
break;
case 6 : TabE.affichersimple();
break;
case 7:System.out.println("au revoir");
break;
default:System.out.println("choix invalide");
}
}
while(choix!=7);
char x=Readln.unchar();
}
}
Exercice 2 :
package javaapplication8;
public class Point {
private int x,y;
}
package javaapplication8;
{
return (super.diamètre() - rayoninterne*2);
}
public double surface()
{
return super.surface()-Math.pow(rayoninterne,2.0)*Math.PI;
}
}
package javaapplication8;
public class Main {
public Main() {
}