Q1)
Q1)
Soit la classe Employe suivante :
public class Employe
{
private String nom; // nom de l’employé
private String assSoc; // numéro d’assurance sociale de l’employé
private double salaire;
public Employe(String nom, String assSoc, double salaire)
{
this.nom = nom;
this.assSoc = assSoc;
this.salaire = salaire;
}
public void setNom(String nom) { this.nom = nom; }
public void setAssSoc(String assSoc) { this.assSoc = assSoc; }
public void setSalaire(double sal) { this.salaire = salaire; }
public String getNom() { return nom ; }
public String getAssSoc() { return assSoc; }
public double getSalaire() { return salaire; }
// paye hebodamadaire
public double paye()
{
return 0;
}
public String toString() {
return nom + " (ass-sociale = " + assSoc + ")";
}
} // fin Employe
Soient deux sous-classes de Employe, respectivement appelées EmployeCommission et EmployeHoraire.
Voici les détails de ces deux classes :
o un employé à commission a en plus de son salaire de base un taux de commission et le nombre d’items vendus dans la semaine. La paie hebdomadaire de cet employé est son salaire de base plus le montant de sa commission.
o un employé horaire a en plus de son salaire horaire un nombre d’heures travaillées dans la semaine.
Donnez le code des deux sous classes EmployeCommission et EmployeHoraire.
Q2)
Sachant qu’on voudra créer dans une application des machines distributrices qui ne vendent que du café coûtant 1$ et qu’on pourra acheter le café en payant seulement avec des pièces de 1$ ou de 2$ :
a) Complétez la classe Distributrice avec :
• ses 3 attributs
• le constructeur sans paramètre et celui à 2 paramètres
• les méthodes « set » et les méthodes « get »
• la méthode payerCafe (qui doit retourner un des messages suivants : Bonne journée ou Voici votre monnaie ou Désolé! je n’ai plus de 1$ ou La pièce est refusée ou Désolé! il n’y a plus de café)
• la méthode toString qui retourne une chaîne donnant le contenu de la distributrice
b) Complétez le diagramme de la classe Distributrice
|TestDistributrice |
| |
c) Complétez l'application TestDistributrice qui va créer une distributrice contenant au départ 25 pièces de 1$ et 50 tasses de café. L'application doit ensuite simuler l’achat de café par 40 clients à l’aide d’une boucle for (le client paie avec un 1$ lorsque le compteur de la boucle est un multiple de 3 ou de 5, sinon il paie avec un 2$). Faites afficher les messages concernant les ventes de café et l’état de la distributrice à la fin de la journée dans une zone de texte à défilement sur 10 lignes.
Q3)
Complétez la classe Exemple suivante, sachant que les objets Exemple, qui seront créés par la suite, doivent partager les attributs somme et nbObjets. L'attribut nbObjets permet de compter le nombre d'objets qui seront créés et l'attribut somme permet de faire la somme des différentes valeurs conservées dans l'attribut d'instance valeur des différents objets créés.
public class Exemple
{
________________________________ nbObjets = 0;
________________________________ somme = 0;
________________________________ valeur;
public Exemple(int nb)
{
_______________________________________________;
_______________________________________________;
_______________________________________________;
}
public _______________ setValeur(int nb)
{
_______________________________________________;
_______________________________________________;
_______________________________________________;
}
public _______________ getValeur()
{
_______________________________________________;
}
public _______________ getNbObjets()
{
_______________________________________________;
}
public _______________ getSomme()
{
_______________________________________________;
}
public _______________ toString()
{
return "L'attribut valeur est de " + valeur + ", somme = " + somme +
", nombre d'objets créés = " + nbObjets;
}
} // fin de la classe Exemple
Complétez maintenant l'application TestExemple :
public class TestExemple
{
public static void main(String args[])
{
Exemple obj1 = new Exemple(5);
System.out.println("objet 1 : " + obj1);
Exemple obj2 = new Exemple(10);
System.out.println("objet 1 : " + obj1);
System.out.println("objet 2 : " + obj2);
System.out.println("\nLa somme des attributs valeur = " +
___________________________________);
System.out.println("Le nombre d'objets Exemple = " +
___________________________________);
}
}
Quels seront les résultats affichés lors de l'exécution de la classe TestExemple ?
| |
| |
| |
| |
| |
| |
| |
Q4)
Soient les 2 classes suivantes:
// classe Stagiaiare
public class Stagiaire {
private String nom; // nom du stagiaire
private int duree; // nombre de semaines
private String college; // college du stagiaire
public Stagiaire(String nom, int duree, String college){
setNom(nom);
setDuree(duree);
setCollege(college);
}
public String getNom() { return nom; }
public int getDuree() { return duree; }
public String getCollege() { return college; }
public void setDuree(int duree) { this.duree = duree; }
public void setNom(String nom) { this.nom = nom; }
public void setCollege(String college){this.college = college;}
public String toString() {
return nom + "\t\t " + duree + "\t\t " + college ;
}
}//fin Stagiaire
// Classe GestionStage
import java.io.*;
import java.util.StringTokenizer;
public class GestionStage{
public static void main(String args[]) throws IOException {
final int MAX_STAGES = 50; // nombre maximal de stages
int nbStages; // nombre effectif de stagiaires
Stagiaire tabStages[]= new Stagiaire[MAX_STAGES];
// remplir le tableau a partir du fichier Stages.txt en
// extrayant les informations séparées par des virgules (,) avec
// un Strinktokenizer
nbStages= remplirTab(tabStages);
// afficher la liste des stagiaires
afficher(nbStages, tabStages);
// Comparer si le stagiaire 2 et le stagiaire 4 viennent du même //collège,ont la même durée de stage et afficher un message adéquat
comparerCollege( tabStages[2], tabStages[4]);
// changer le nom du collège "AH" par "Ahuntsic"
modifierCollege(nbStages, tabStages, "AH", "Ahuntsic");
// réafficher la liste des stagiaires
afficher(nbStages, tabStages);
} // fin main
static int remplirTab (){ } //à ne pas coder
static void afficher (_________________________){ } // à coder
static void modifierCollege ( ________________________){ } // à coder
static void comparerCollege(_________________________){ } // à coder
} // fin GestionStage
Complétez la signature et donnez le code des méthodes comparerCollege(), modifierCollege(), afficher() en tenant compte des commentaires indiqués dans la classe GestionStage
Q5)
Soient les 3 classes suivantes :
// classe Cle
class Cle {
private int code;
private String marque;
public Cle (String marque) {
this(999,marque);
}
public Cle (int code, String marque) {
setCode( code);
setMarque(marque);
}
public int getCode() {return code;}
public void setCode(int code) {this.code = code;}
public String getMarque() {return marque;}
public void setMarque(String marque) {this.marque = marque;}
public String toString(){
return ("cle " + marque + ", " + code);
}
}//fin Cle
// classe Porte
public class Porte {
private int numero;
private Cle cle;
public Porte() {
this(1111, null);
}
public Porte(int n, Cle c) {
setNumero(n);
setCle(c);
}
public Cle getCle() {return cle;}
public int getNumero() {return numero;}
public void setCle(Cle cle) {this.cle = cle;}
public void setNumero(int numero) {this.numero = numero;}
public String toString() {
String message = numero + " : ";
if( cle == null )
message += "pas de clé";
else message += cle;
return message;
}
} // fin Porte
// classe TestPorte
public class TestPorte{
public static void main (String argv[]) {
Cle cle1 = new Cle(1234, "Ilco");
Porte porte1 = new Porte(1144, cle1);
Porte porte2 = new Porte();
Porte porte3 = new Porte(1127, new Cle("Weiser") );
//porte1
System.out.println("Porte1 " +porte1);
//porte2
System.out.println("Porte2 " + porte2);
porte2.setCle(new Cle(1356,"Sargent"));
System.out.println("Porte2 " + porte2);
//porte3
System.out.println("Porte3 " +porte3);
porte3.getCle().setCode(1456);
System.out.println("Porte3 " + porte3);
} // fin main
} // fin TestPorte
Donnez le résultat de l'exécution de la classe TestPorte.
Q6)
Compléter la classe ClubAmis suivante, qui permet, à l’aide du constructeur, d’amener un fichier, déjà ordonné par ordre croissant du mois de la date d’anniversaire , dans un tableau d’amis :
import java.io.*;
public class ClubAmis
{
private static final int MAX_AMIS = 25;
private Ami tabAmis[] = ________________________;
private int nbAmis = 0; // compteur des amis placés dans le tableau
public ClubAmis() throws IOException
{
BufferedReader fichier = new BufferedReader(new FileReader("amis.txt"));
String ligne;
ligne = fichier.readLine();
while (ligne != null && nbAmis < MAX_AMIS)
{
String nomAmi = ligne.substring(0,20);
String phone = ligne.substring(21,31);
int jr = Integer.parseInt(ligne.substring(32,34));
int mois = Integer.parseInt(ligne.substring(35,37));
int annee = Integer.parseInt(ligne.substring(38);
| |
| |
| |
}
}
/* La méthode suivante permet d’insérer, s’il reste de la place, un nouvel ami dans le tableau des amis, de façon à ce que le tableau reste ordonné par ordre croissant du mois d’anniversaire. Si pas assez de place, afficher un message d’erreur
REMARQUE : utiliser le service compareTo de la classe Ami */
public void insererAmi(Ami monAmi)
{
boolean trouvePlace;
int ind;
if (______________________________)
System.out.println("Il n’y a plus de place dans le tableau") ;
else
{
trouvePlace = false ;
ind = _______________________________
while (ind >=0 && !trouvePlace)
{
if (_______________________________________________________)
{
______________________________________;
ind--;
}
else
trouvePlace = true;
}
______________________________________________
______________________________________________
}
}
// La méthode suivante retourne l’ami placé dans le tableau à la
// position ind
public Ami getAmi(int ind)
{
return ____________________ ;
}
}
Écrire la classe GestionClubAmis qui est une application permettant :
• de créer le club d'amis et par la suite
• d'aller modifier le jour d'anniversaire de l'ami placé à la quatrième position dans le tableau (mettre le jour à 13) et
• d'insérer au club l'ami suivant : Marc Legris né le 23 février 1985 dont le téléphone est (450)234-1234.
public class GestionClubAmis
{
public static void main(String args[]) throws IOException
{
| |
| |
| |
| |
| |
| |
| |
}
}
-----------------------
|Distributrice |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
utilise
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- how to calculate q1 and q3
- min q1 median q3 max calculator
- how do you find q1 and q3
- q1 q2 q3 iqr calculator
- statistics calculator q1 q2 q3
- mean median q1 q3 calculator
- min q1 med q3 max calculator
- how to find q1 and q3 statistics
- q1 median q3
- q1 and q3 calculation
- how to find q1 and q3
- find q1 q2 and q3 calculator