Correction TD4

Programming, Math, etc. · exam

Correction TD4

Exercice 2 :

package Exercice2;

public abstract class Vehicule {

private String Matricule;

private int annee;

private double prix;

private double vitesse;

//constructeur

public Vehicule( String Matricule,int annee, double prix)

{

this.Matricule=Matricule;

this.annee=annee;

this.prix=prix;

vitesse=0;

}

//Méthodes abstraites

public abstract void demarrer();

public abstract void accelerer(double v);

//méthode setVitesse pour modifier la valeur de vitesse

public void setVitesse(double v)

{

vitesse=v;

}

//méthode pour retourner la vitesse

public double getVitesse()

{

return vitesse;

}

public String toString()

{

return " Matricule"+ Matricule+" l'année du Modèle "+ annee+"prix ="+

prix;

}

}

package Exercice2;

public class Voiture extends Vehicule {

//constructeur

public Voiture(String Matricule,int annee, double prix)

Publicité

{

super( Matricule, annee, prix);

}

//developpement des methodes abstraites

public void demarrer()

{

System.out.println("la voiture va demarrer");

}

public void accelerer(double v)

{ setVitesse(v);

System.out.println("le nouvelle vitesse de la voiture

"+getVitesse());

}

}

package Exercice2;

public class Avion extends Vehicule {

private String modele ;

//constructeur

public Avion(String Matricule,int annee, double prix,String modele)

{

super( Matricule, annee, prix);

this.modele=modele;

}

//developpement des methodes abstraites

public void demarrer()

{

System.out.println("l'avion va demarrer");

}

public void accelerer(double v)

{ setVitesse(v);

System.out.println("le nouvelle vitesse de l'avion

"+getVitesse());

}

}

package Exercice2;

import java.util.ArrayList;

public class Test {

public static void main(String[] args) {

ArrayList A=new ArrayList();

Publicité

//Ajout des voitures et des avions dans un ArrayList A

A.add(new Voiture("1234 tun 200",2010,40000));

A.add(new Avion ("ts123456",2000,120000,"A320"));

A.add(new Voiture("566 tun 210",2015,60000));

//parcour de ArrayList et affichage des voitures puis acceleration des

voitures par 50

for(int i=0;i<A.size();i++)

{

if (A.get(i) instanceof Voiture )

{

System.out.println(A.get(i));

//recuperation de la voiture de ArrayList vers VT puis

acceleration par 50

Voiture Vt= (Voiture)A.get(i);

Vt.demarrer();

Vt.accelerer(50);

}}

}

}

Version 2 : la méthode main avec saisie des données au clavier *

package Exercice2;

import java.util.*;

public class Test {

public static void main(String[] args) {

Scanner input=new Scanner (System.in);

int reponse;

String Mat,mod;

int an ;

double prix;

ArrayList A=new ArrayList();

//Ajout des voitures et des avions dans un ArrayList A

do{

System.out.println("Si vous voulez Saisir une voiture tapez 1 , si

Avion tapez 2 ,quitter tapez 0 ");

reponse =input.nextInt();

if (reponse ==1)

{System.out.println("vous aler Saisir une voiture : ");

System.out.println("donnez la Matricule de la voiture ");

input.nextLine();

Publicité

Mat=input.nextLine();

System.out.println("donnez l'année du Modèle : ");

an=input.nextInt();

System.out.println("donnez le prix de la voiture : ");

prix=input.nextDouble();

A.add(new Voiture(Mat,an,prix));

}else

if (reponse ==2)

{ System.out.println("vous aler Saisir un Avion : ");

System.out.println("donnez la Matricule de l'avion ");

input.nextLine();

Mat=input.nextLine();

System.out.println("donnez l'année du Modèle : ");

an=input.nextInt();

System.out.println("donnez le prix de l'Avion : ");

prix=input.nextDouble();

System.out.println("donnez le modèle de l'avion ");

input.nextLine();

mod=input.nextLine();

A.add(new Avion (Mat,an,prix,mod));

}

}while (reponse !=0);

//parcours de ArrayList et affichage des voitures puis accélération des

voitures par 50

for(int i=0;i<A.size();i++)

{

if (A.get(i) instanceof Voiture )

{

System.out.println(A.get(i));

//récupération de la voiture de ArrayList vers VT puis accélération par 50

Voiture Vt= (Voiture)A.get(i);

Vt.demarrer();

Vt.accelerer(50);

}}

}

}