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);
}}
}
}