Telechargé par Mohammed Lamrabte

Correction TP3 JAVA New Version

publicité
TP 3
 Exercice 1:
 ===============La classe Volaille===============
abstract class Volaille {
public double poids;
public int num;
Volaille( int ord , double pds){
num=ord;
poids=pds;
}
abstract boolean verifierPoidsAbatt();
abstract double calculPrix();
public String toString() {
String ch =null;
ch="Numero d'inscription : "+num+ " Poids: "+poids;
return ch;
}
}
 =============== La classe Poulet ===============
public class Poulet extends Volaille {
static double prixAuKilo;
static double poidsAbatt;
Poulet(int ord, double pds ,double pk, double pa) {
super(ord, pds);
prixAuKilo = pk;
poidsAbatt=pa;
}
public boolean verificationPoidsAbatt() {
boolean res =false;
if(poids>=poidsAbatt) res=true;
return res;
}
public double calculPrix(){
double pr=0;
pr=poids*prixAuKilo;
return pr;
}
public String toString() {
String ch = null;
ch=super.toString()+"Prix au kilo :"+prixAuKilo+" Poids d'abattage :"+poidsAbatt;
return ch;
}
}
 =============== La classe Canard ===============
public class Canard extends Volaille {
static double prixAuKilo;
static double poidsAbatt;
Canard(int ord, double pds ,double pk, double pa) {
super(ord, pds);
prixAuKilo = pk;
poidsAbatt=pa;
}
public boolean verificationPoidsAbatt() {
boolean res =false;
if(poids>=poidsAbatt) res=true;
return res;
}
public double calculPrix() {
double pr=0;
pr=poids*prixAuKilo;
return pr;
}
public String toString() {
String ch = null;
ch=super.toString()+"Prix au kilo :"+prixAuKilo+" Poids d'abattage :"+poidsAbatt;
return ch;
}
}
 =============== La classe GestionVolaille ===============
import java.util.Scanner;
public class GestionVolaille {
private int max;
private int nb;
private int nbv;
private Volaille[] tab;
GestionVolaille(int mx){
max=mx;
nb=0;
nbv=0;
tab=new Volaille[max];
}
static String clavier() {
Scanner clav =new Scanner(System.in);
String ch =clav.next();
return ch;
}
public void ajoutVolaille(Volaille v) {
if(nb<max) {
tab[nb]=v;
nb++;
}
else System.out.println("Depacement de la capacite");
}
public void afficheVolaille() {
Volaille v; Poulet p; Canard c;
for(int i=0; i<nb; i++) {
v=tab[i];
if(v instanceof Poulet ) { p=(Poulet) v; System.out.println(p.toString()+"\n"); }
if(v instanceof Canard ) { c=(Canard) v; System.out.println(c.toString()+"\n"); }
}
}
public Volaille[] volailleAbattre() {
Volaille[] tabv =new Volaille[nb];
Volaille v;
Poulet p;
Canard c;
for( int i=0; i<nb ; i++) {
v= tab[i];
if(v instanceof Poulet) { p= (Poulet)v; if(p.verificationPoidsAbatt()==true) {
tabv[nbv]=p; nbv++; } }
if(v instanceof Canard) { c= (Canard)v; if(c.verificationPoidsAbatt()==true) {
tabv[nbv]=c; nbv++; } }
}
return tabv;
}
public double calculerPrixTotal() {
double s=0;
Volaille[] A = volailleAbattre();
Volaille v;
Poulet p;
Canard c;
for(int i=0; i<nbv ; i++) {
v= A[i];
if(v instanceof Poulet ) { p=(Poulet) v; s = s +p.calculPrix(); }
if(v instanceof Canard ) { c=(Canard) v; s = s +c.calculPrix(); }
}
return s;
}
}
 =============== La classe VolaillePrincipale ===============
public class VolaillePrincipale {
public static void main(String[] args) {
System.out.println("Entrer le nombre maximum à gerer ");
int mx = Integer.parseInt(GestionVolaille.clavier());
GestionVolaille gv = new GestionVolaille(mx);
System.out.println("Entrer le nombre de poulets à enregistrer : ");
int nbp = Integer.parseInt(GestionVolaille.clavier());
for(int i=0; i< nbp ; i++) {
System.out.println("Poulet N ° :"+(1+i));
System.out.println("Ord :");
int ord = Integer.parseInt(gv.clavier());
System.out.println("Poids :");
double pds =Double.parseDouble(gv.clavier());
System.out.println("Prix au kilo :");
double pk =Double.parseDouble(gv.clavier());
System.out.println("Poids d'abattage :");
double pa=Double.parseDouble(gv.clavier());
Poulet p= new Poulet(ord,pds,pk,pa);
gv.ajoutVolaille(p);
}
System.out.println("Entrer le nombre de canards à enregistrer :");
int nbc =Integer.parseInt(GestionVolaille.clavier());
for(int i=0; i< nbc ; i++) {
System.out.println("Canard N ° :"+(1+i));
System.out.println("Ord :");
int ord = Integer.parseInt(gv.clavier());
System.out.println("Poids :");
double pds =Double.parseDouble(gv.clavier());
System.out.println("Prix au kilo :");
double pk =Double.parseDouble(gv.clavier());
System.out.println("Poids d'abattage :");
double pa=Double.parseDouble(gv.clavier());
Canard c= new Canard(ord,pds,pk,pa);
gv.ajoutVolaille(c);
}
System.out.println("Liste des volailles enregistrés :");
gv.afficheVolaille();
System.out.println("Prix total des volailles à abattre ::" + gv.calculerPrixTotal() );
}
}
 Exercice 2:

=============== La classe Fichier ===============
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class Fichier {
String nomFichier;
public Personne [] tab = new Personne[50];
Fichier(String nom) {
nomFichier = nom;
}
static String clavier() {
Scanner clav = new Scanner(System.in);
return clav.next();
}
public void ecrire() throws IOException {
PrintWriter write = new PrintWriter(nomFichier);
System.out.println("Donner le nombre de personnes :");
int nb = Integer.parseInt(clavier());
for (int i = 0; i < nb; i++) {
System.out.println("Personne n° :" + (i + 1));
System.out.println("Entre le Nom :");
String nom = clavier();
System.out.println("Entrer le prenom");
String prenom = clavier();
System.out.println("Entrer la date de naissance :");
String naissance = clavier();
String ch = nom + " " + prenom + " " + naissance;
write.println(ch);
}
write.close();
}
public void lire() throws IOException{
FileReader read = new FileReader(nomFichier);
BufferedReader ligne =new BufferedReader(read);
int i= 0;
String[] chaines;
String ch;
while((ch=ligne.readLine())!= null){
chaines = ch.split(" ");
tab[i] = new Personne(chaines[0] , chaines[1], chaines[2]);
i++;
}
Personne p;
for( int k=0; k<i; k++) {
for(int j=0; j<i-1; j++) {
if( tab[j].nom.compareTo(tab[j+1].nom) > 0) {
p= tab[j];
tab[j]= tab[j+1];
tab[j+1]= p;
}
}
}
System.out.println("Listes par ordre Alphabetique des Noms :");
for(int
k=0; k<i; k++) {
ch = tab[k].nom +" " +tab[k].prenom +" " +tab[k].naissance ;
System.out.println(ch);
}
}
}
 =============== La classe Personne ===============
public class Personne {
public String nom;
public String prenom;
public String naissance;
Personne(String n, String p, String na){
nom= n;
prenom =p;
naissance= na;
}
}
 =============== La classe Principale ===============
import java.io.IOException;
public class Principale {
public static void main(String[] args) throws IOException {
// QUESTION 1
System.out.println("Donner le nom du Fichier :");
String nom = Fichier.clavier();
Fichier exp = new Fichier(nom);
exp.ecrire();
// QUESTION 2
exp.lire();
}
}
Téléchargement