Vous êtes sur la page 1sur 6

Correction de la série Java POO

Exercice 1 :
package testetudiant;
public class Etudiant {
private String nomEtud;
private String prenomEtud;
private int ageEtud;
public Etudiant() {
nomEtud =" ";
prenomEtud = " ";
ageEtud = 0; }
public Etudiant(String pNom,String pPrenom, int pAge){
nomEtud =pNom;
prenomEtud = pPrenom;
ageEtud = pAge; }
public String getNomEtud() {return nomEtud;}
public String getPrenomEtud() {return prenomEtud;}
public int getAgeEtud(){ return ageEtud;}
public void setNom(String N) { nomEtud= N;}
public void setPrenom(String P) { prenomEtud= P;}
public void setage(int A) { ageEtud= A;}
}

package testetudiant;
import java.util.Scanner;
public class Testetudiant {
public static void main(String[] args) {
Etudiant E1 = new Etudiant("Ben Salah","Mourad",25);
Etudiant E2 = new Etudiant("Hamrouni","Khaled",23);
if (E1.getAgeEtud() > E2.getAgeEtud())
System.out.println("l'etudiant "+ E1.getNomEtud()+" "+E1.getPrenomEtud() +" est
plus agé que "+E2.getNomEtud()+" "+E2.getPrenomEtud());
else
if (E1.getAgeEtud() < E2.getAgeEtud())
System.out.println("l'etudiant "+ E1.getNomEtud()+" "+E1.getPrenomEtud()+" est
moins agé que "+E2.getNomEtud()+" "+ E2.getPrenomEtud());
else
System.out.println("l'age de l'etudiant "+ E1.getNomEtud()+" "+
E1.getPrenomEtud() +" est égal à l'age de "+E2.getNomEtud()+"
"+E2.getPrenomEtud()); */

int taille,i,j,indMin,A;
String N,P=new String();
Etudiant E3=new Etudiant();

Scanner s = new Scanner(System.in);


do

Réalisé par : Bassem Boughzala (Iset Rades) Page 1/6


{
System.out.println("Donner la taille du tableau : ");
taille =s.nextInt();
}
while (taille<= 0);
Etudiant[] tabEtud = new Etudiant[taille];

for(i=0;i<taille ;i++)
{
s.nextLine();
System.out.println("Donner le nom : ");
N=s.nextLine();
System.out.println("Donner le prenom : ");
P=s.nextLine();
System.out.println("Donner l'age : ");
A=s.nextInt();
tabEtud[i] = new Etudiant(N,P,A);
}

System.out.println("\n \n Affichage des étudiants avant le tri \n \n");


// affichage du tableau avant le tri
for (Etudiant E : tabEtud)
System.out.println("\t Nom = "+E.getNomEtud()+" prenom = "+E.getPrenomEtud()
+" age = "+E.getAgeEtud());

for(i=0;i<taille-1;i++)
{
indMin = i;
for(j=i+1;j<taille;j++)
{
if (tabEtud[j].getAgeEtud()<tabEtud[indMin].getAgeEtud())
indMin =j;
}
E3 = tabEtud[i];
tabEtud[i] =tabEtud[indMin];
tabEtud[indMin]=E3;
}

System.out.println("\n \n Affichage des étudiants après le tri \n \n");


for (Etudiant E : tabEtud)
System.out.println("\t Nom = "+E.getNomEtud()+" prenom = "+E.getPrenomEtud()
+" age = "+E.getAgeEtud());
}
}

Exercice 2 :
package testcomptes;
public class Compte {
int solde = 0;

Réalisé par : Bassem Boughzala (Iset Rades) Page 2/6


String nom;
public Compte(String pNom)
{
nom=pNom;
}
public void depot (int montant){ solde = solde + montant;}
public void retrait (int montant){ solde = solde - montant;}
public void virement (int montant,Compte autre){
autre.retrait(montant);
this.depot(montant); }
public void afficher(){

System.out.println("\n Titulaire du compte : "+nom+" le solde = "+solde);

}
}

package testcomptes;
import java.util.Scanner;
public class TestComptes {
public static void main(String[] args) {
Compte c1 = new Compte();
Compte c2 = new Compte();
c1.depot(500);
c2.depot(1000);
c2.retrait(10);
c2.virement(75, c1);
c1.afficher();
c2.afficher();

Scanner s = new Scanner(System.in);


String N;
Compte[] tabComptes= new Compte[5];
for(int i=0;i<tabComptes.length;i++)
{
System.out.println("Donner le nom du titulaire du compte : ");
N=s.nextLine();
tabComptes[i]=new Compte(N);
tabComptes[i].solde=(200+100*i);
// s.nextLine();
}
System.out.println("\n \n Affichage des soldes des 10 comptes :\n");
int i=0;
for (Compte C : tabComptes)
{
System.out.println("\t compte numéro = "+i+" Titulaire : " +C.nom +" Solde =
"+C.solde);
i++;
}
for(i=0; i<tabComptes.length; i++)

Réalisé par : Bassem Boughzala (Iset Rades) Page 3/6


{
for(int j=0; j<i; j++)
{
tabComptes[i].virement(20,tabComptes[j]);
}
}

System.out.println("\n \n Affichage des soldes des 10 comptes après affectation de 20 euros


:\n");
i=0;
for (Compte C : tabComptes)
{
System.out.println("\t compte numéro = "+i+" Solde = "+C.solde);
i++;
}
}
}

Exercice 3 :
package zoomain;
public class Animal {
// variables
public String nom;
public String race;
public String jeDis;

// méthode constructrice
public Animal(String a, String b, String c) {
nom = a;
race = b;
jeDis = c;
}
// méthodes
public void sePresenter() {
System.out.println("Bonjour! Je suis un(e) "+race+".");
System.out.println("Je m'appelle "+nom+".");
System.out.println("Je fais "+jeDis+".");
}
}

package zoomain;
public class ZooMain {
public static void main(String[] args) {
class Chat extends Animal {
// méthode constructrice
public Chat(String n) {
super(n,"chat","miau, miau");
}
}

Réalisé par : Bassem Boughzala (Iset Rades) Page 4/6


class Chien extends Animal {
// méthode constructrice
public Chien(String n) {
super(n, "chien", "vau, vau");
}
}

Animal[] Zoo = new Animal[3];

Zoo[0] = new Chien("Lia");


Zoo[1] = new Chat("Toto");
Zoo[2] = new Chat("Sisi");

for (int j=0; j<3; j++) Zoo[j].sePresenter();

}
}

Exercice 4 :
Source de Forme.java
abstract public class Forme {
double posX, posY;
void deplacer(double x,double y) {
posX=x;
posY=y;
}
void afficherPosition() {
System.out.println("position : ("
+posX+","+posY+")");
}
abstract double surface() ;
abstract double perimetre() ;
}
Source de Rectangle.java
public class Rectangle extends Forme {
double largeur, hauteur;
public Rectangle() {
posX=0; posY=0; largeur=0; hauteur=0;
}
public Rectangle(double x, double y,
double la, double lo) {
posX=x; posY=y; largeur=la; hauteur=lo;
}
double surface() {
return largeur * hauteur;
}
double perimetre() {
return 2*(largeur + hauteur);
}
}
Source de carré.java
public class Carre extends Forme {

Réalisé par : Bassem Boughzala (Iset Rades) Page 5/6


double largeur, hauteur, cote;
public Carre() {
posX=0; posY=0; cote=0;
}
public Carre(double x, double y, double co) {
posX=x; posY=y; cote=co ;
}
double surface() {
return cote * cote;
}
double perimetre() {
return cote * 4;
}
}
Source de Cercle7.java
public class Cercle extends Forme {
double rayon;
Cercle(double x, double y, double r) {
posX=x; posY=y; rayon=r;
}
double surface() {
return Math.PI*Math.pow(rayon, 2.);
}
double perimetre() {
return 2*rayon*Math.PI;
}
}
Source de Prog.java
public class Prog50 {
public static void main (String args[]) {
Rectangle rect;
Carré car ;
Cercle cerc;
rect = new Rectangle(9,3,10,20);
cerc = new Cercle(43,32,100);
car = new carré(5,5,25);

System.out.print("\n rectangle ");


rect.afficherPosition();
System.out.print("\n la surface = "+rect.surface()) ;
System.out.print("\n le périmètre = "+rect.perimetre()) ;

System.out.print("\n Carrée ");


car.afficherPosition();
System.out.print("\n la surface = "+car.surface()) ;
System.out.print("\n le périmètre = "+car.perimetre()) ;

System.out.print("\n cercle ");


rect.afficherPosition();
System.out.print("\n la surface = "+rect.surface()) ;
System.out.print("\n le périmètre = "+rect.perimetre()) ;

}
}

Réalisé par : Bassem Boughzala (Iset Rades) Page 6/6

Vous aimerez peut-être aussi