0% ont trouvé ce document utile (0 vote)
4 vues14 pages

Classes Java pour Calculs et Personnes

Le document présente plusieurs applications en Java, incluant la définition de classes pour des calculs mathématiques, des monômes, des tableaux d'entiers, et des entités comme Personne, Professeur, et Etudiant. Chaque classe est accompagnée de méthodes pour effectuer des opérations spécifiques, telles que le calcul de puissances, l'affichage des caractéristiques, et le calcul de scores. Enfin, une classe Test est fournie pour démontrer la création d'un tableau d'objets et l'interaction avec l'utilisateur.

Transféré par

khmayess ghannouchi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues14 pages

Classes Java pour Calculs et Personnes

Le document présente plusieurs applications en Java, incluant la définition de classes pour des calculs mathématiques, des monômes, des tableaux d'entiers, et des entités comme Personne, Professeur, et Etudiant. Chaque classe est accompagnée de méthodes pour effectuer des opérations spécifiques, telles que le calcul de puissances, l'affichage des caractéristiques, et le calcul de scores. Enfin, une classe Test est fournie pour démontrer la création d'un tableau d'objets et l'interaction avec l'utilisateur.

Transféré par

khmayess ghannouchi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Application 1

1. Définir une classe publique Calcul qui contient:


▪ Une méthode statique puissance qui calcule xn. Cette méthode retourne un réel et
prend en paramètre un réel x et un entier n
▪ NB. Sans utiliser la méthode [Link]()
public class Calcul {
public static float puissance(float x, int n) {
float result=1;
if (n == 0) {
result=1;
} else {
for(int i=0;i<n;i++) {
result = result*x;
}
}
return result;
}
}

Dr. Hajer Nabli ISIMM -- 2022/2023 186


Application 1
2. Ecrire une classe Monome permettant de mémoriser un monôme a*xn défini par le couple
d’attributs coefficient (de type réel) et degre (de type entier)
▪ Ecrire le constructeur Monome(float coef , int degre) permettant d’initialiser un objet
de cette classe
▪ Ecrire la méthode float calculMonome(float x) calculant la valeur du monôme pour le
paramètre x en utilisant la fonction puissance définie à la question 1
public class Monome {
public float coef;
public int degre;
Monome(float coef, int degre) {
[Link] = coef;
[Link] = degre;
}
float calculMonome(float x){
return coef * [Link](x, degre);
}
}
Dr. Hajer Nabli ISIMM -- 2022/2023 187
Application 2
1. Créer une classe publique TableauEntier qui contient:
▪ Un attribut privé n (de type entier)
▪ Un attribut protégé T (tableau d’entiers)
▪ Un constructeur comportant la taille du tableau n comme paramètre
▪ Une méthode statique saisir() qui retourne la valeur de n saisie au clavier
▪ Une méthode remplir() qui retourne un tableau T rempli par des entiers saisis au clavier
▪ Une méthode afficher (int[] Tab) qui affiche le tableau d’entiers passé en paramètre
▪ Une méthode somme (int[] Tab) retourne la somme des éléments du tableau d’entiers
▪ Un e méthode maximum (int[] Tab) retourne le maximum d’un tableau d’entiers
▪ Une méthode minimum (int[] Tab) retourne le minimum d’un tableau d’entiers

Dr. Hajer Nabli ISIMM -- 2022/2023 188


Application 2
import [Link]; public static int saisir() {
public class TableauEntier { [Link]("Donner la taille du Tableau");
private int n; Scanner input = new Scanner([Link]);
protected int[] T; return [Link]();
public int getN() { }
return n; public int[] remplir() {
} [Link]("Saisir les elements du Tableau");
public void setN(int n) { Scanner input = new Scanner([Link]);
this.n = n; for(int i=0;i<[Link];i++) {
} T[i]= [Link]();
public TableauEntier(int n) { }
T = new int[n]; return T;
} }

Dr. Hajer Nabli ISIMM -- 2022/2023 189


Application 2
public int maximum(int[] T) {
int max=T[0];
[Link]("Le maximum est:");
public void afficher(int[] Tab) {
for(int i=1;i<[Link];i++) {
[Link]("Les valeurs du Tableau sont: ");
if(T[i]>max)
for(int i=0;i<[Link];i++) {
max=T[i];
[Link]("T["+i+"]="+ Tab[i]);
}
}
return max;
}
}
public int somme(int[] T) {
public int minimum(int[] T) {
int s=0;
int min=T[0];
[Link]("La somme est:");
[Link]("Le minimum est:");
for(int i=0;i<[Link];i++) {
for(int i=1;i<[Link];i++) {
s+=T[i];
if(T[i]<min)
}
min=T[i];
return s;
}
}
return min;
}
}
Dr. Hajer Nabli ISIMM -- 2022/2023 190
Application 3
1. Soit la classe Analyse suivante:
public class Analyse {
public static void modif1(int x) {
x+=2; }
public static void modif2(int x) {
x=5; }
public static String ajoute1(String s) {
s+=" tout le monde";
return s; }
public static String ajoute2(String s) {
s="Salut";
return s; }
public static StringBuffer concat1(StringBuffer sb) {
[Link](" +++");
return sb; }
public static StringBuffer concat2(StringBuffer sb) {
sb= new StringBuffer("+++");
return sb; }
}

Dr. Hajer Nabli ISIMM -- 2022/2023 191


Application 3
o Indiquer l’affichage produit par le programme suivant:
public static void main(String[] args) {
int x=24;
Analyse.modif1(x);
Résultat d’affichage
[Link](x);
x=24; 24
Analyse.modif2(x);
24
[Link](x);
String s="Bonjour"; Bonjour tout le monde
[Link](Analyse.ajoute1(s)); Bonjour
[Link](s);
[Link](Analyse.ajoute2(s)); Salut
[Link](s); Bonjour
StringBuffer sb=new StringBuffer("---"); --- +++
[Link](Analyse.concat1(sb));
[Link](sb); --- +++
sb=new StringBuffer("---"); +++
[Link](Analyse.concat2(sb));
---
[Link](sb);
}

Dr. Hajer Nabli ISIMM -- 2022/2023 192


Application 4
1. Définir une classe publique Personne qui contient:
▪ Trois attributs publics nom, prenom (de type String) et cin (de type entier)
▪ Un attribut privé anciennete (de type entier)
▪ Un constructeur comportant les différents attributs
▪ Une méthode publique affiche() qui per met d’afficher les caractéristiques d’une
personne

Dr. Hajer Nabli ISIMM -- 2022/2023 193


Application 4
public class Personne {
public String nom;
public String prenom;
public int cin;
private int anciennete;
public int getAnciennete() {
return anciennete;
}
public void setAnciennete(int anciennete) {
[Link] = anciennete;
}
Personne(String nom, String prenom, int cin, int anciennete){
[Link] = nom;
[Link]=prenom;
[Link]=cin;
[Link]=anciennete; }
public void affiche() {
[Link]("Nom: "+nom);
[Link]("Prénom: "+prenom);
[Link]("CIN: "+cin);
[Link]("Ancienneté: "+anciennete); }
}
Dr. Hajer Nabli ISIMM -- 2022/2023 194
Application 4
2. Définir une classe publique Professeur qui hérite de la classe Personne et qui inclut:
▪ Deux attributs publics specialite (de type String) et nbcours (de type entier)
▪ Un attribut privé anciennete (de type entier)
▪ Le constructeur correspondant
▪ La méthode affiche() redéfinie
▪ Une méthode score() qui calcule le score d’un professeur sachant que:
• score = anciennete*3+nbcours*2 (si nbcours > 5)
• Score = anciennete*3 (sinon)

Dr. Hajer Nabli ISIMM -- 2022/2023 195


Application 4
public class Professeur extends Personne {
public String specialite;
public int nbcours;
public Professeur(String nom, String prenom, int cin, int anciennete,String specialite, int nbcours) {
super(nom,prenom,cin,anciennete);
[Link]=specialite;
[Link]=nbcours; }
public void affiche() {
[Link]("Caractéristiques Professeur");
[Link]();
[Link]("Specialité: "+specialite);
[Link]("Nombre Cours: "+nbcours); }
public int score() {
int s = 0;
if(nbcours>5)
s= [Link]() *3 + [Link]*2;
else
s=[Link]()*3;
return s; }
}
}

Dr. Hajer Nabli ISIMM -- 2022/2023 196


Application 4
3. Définir une classe publique Etudiant qui hérite de la classe Personne et qui inclut:
▪ Un attribut privé cin (de type entier)
▪ Le constructeur correspondant

public class Etudiant extends Personne {


private int cin;
public int getCin() {
return cin;
}
public void setCin(int cin) {
[Link] = cin;
}
public Etudiant(String nom, String prenom, int cin, int anciennete) {
super(nom,prenom,cin,anciennete);
[Link]=cin;
}
}

Dr. Hajer Nabli ISIMM -- 2022/2023 197


Application 4
3. Définir une classe principale Test qui permet de:
▪ Construire un tableau de T de N Personnes (N étant fixé par l’utilisateur). Le tableau
peut donc inclure des professeurs et des étudiants
▪ Calculer et afficher les scores des professeurs
▪ Saisir au clavier un cin
▪ Afficher les caractéristiques de l’étudiant correspondant

Dr. Hajer Nabli ISIMM -- 2022/2023 198


Application 4 import [Link];
public class Test {
public static void main(String[] args) {
// Tableau de N Personne
Personne[] T = {new Professeur("ben salah","ali",123,10,"info",6),
new Professeur("omar","yassine",456,4,"info",2),
new Etudiant("mohamed","yahia",147,1),
new Etudiant("khlifa","faten",258,3),
new Professeur("ahmed","mohamed",256,5,"physique",7) };
// Calcul et Affichage des scores des professeurs
for(int i=0;i<[Link];i++) {
if(T[i] instanceof Professeur) {
[Link](((Professeur) T[i]).score()); } }
// Saisie au clavier d'une CIN
[Link]("Saisir le CIN: ");
Scanner input = new Scanner([Link]);
int cin = [Link]();
// Affichage des caractéristiques de l'étudiant correspondant
for(int i=0;i<[Link];i++) {
if(T[i] instanceof Etudiant) {
if(((Etudiant)T[i]).getCin()==cin)
T[i].affiche(); }}
}}
Dr. Hajer Nabli ISIMM -- 2022/2023 199

Vous aimerez peut-être aussi