TP2 JAVA Correction
TP2 JAVA Correction
TP2 JAVA Correction
TP 2 : Correction
Exercice 1 :
Avion.java
Les variables statiques n'existent qu'en un seul exemplaire pour toutes les instances de la classe, au
contraire des variables objet. Elles sont utilisables sans avoir besoin d'instancier la classe.
1
// 2ème méthode d’affichage des informations de l’avion
System.out.println(Boeing);
System.out.println(ATR);
System.out.println(Airbus);
// Pour y accéder à une variable de classe, il faut utiliser non pas un
identificateur d'objet mais le nom de la classe
System.out.println("Le nombre d’avions est : " + Avion.count);
}
}
Exercice 2 :
public class Point {
private double x,y;
Point(double x, double y) {
this.x=x;
this.y=y;
}
public void decaler (double x, double y) {
this.x+=x;
this.y+=y;
}
public void afficher () {
System.out.println("x : "+x+" y : "+y);
}
import java.util.Scanner;
public class Test {
static Scanner input = new Scanner(System.in);
public static void main (String[] args){
// a et b sont les coordonnées du point
double a,b ;
//creation d'un tableau Pt de points et affichage
System.out.println("donner la taille du tableau des points ?");
int nb = input.nextInt();
Point[] P = new Point[nb];
//Remplissage du tableau Pt par des valeurs
for(int i=0;i<P.length;i++){
System.out.println("donnez les cordonnées du point " +i);
//saisie des coordonnées a et b à partir du clavier
a = input.nextFloat();
b = input.nextFloat();
P[i] = new Point(a,b);
}
//Affichage du contenu du tableau
for(int i=0;i<P.length;i++){
P[i].afficher();
}
2
}
}
Exercice 3 :
Personne.java
import java.util.Date;
public class Personne {
private String nom;
private String prenom;
private char sexe;
private int datnais;
private String etatc;
private boolean conjoint;
public Personne (String nom, String prenom, char sexe, int datnais, String etatc, boolean conjoint){
this.nom=nom;
this.prenom=prenom;
this.sexe=sexe;
this.datnais=datnais;
this.etatc=etatc;
this.conjoint=conjoint;
}
public void retourneInfos(){
if(sexe=='m')
System.out.println("M. "+nom+" "+prenom+" est né en "+datnais+", il est"+ etatc);
else{
if(etatc=="célibataire")
System.out.println("Mlle. "+nom+" "+prenom+" est née en "+datnais+"elle est célibataire");
else
System.out.println("Mme. "+nom+" "+prenom+" est née en "+datnais+" elle est"+ etatc);
}
}
public int age (){
return(2022-this.datnais);
}
public void marier ( Personne p){
if ((this.conjoint==false) && (p.conjoint==false)){
this.conjoint=true;
p.conjoint=true;
p.nom=this.nom+p.nom;
this.etatc="marié";
p.etatc="mariée";
}
else
System.out.println("le mariage ne peut pas s'aboutir");
}
}
3
Personne p1,p2;
p1= new Personne("allani","ali",'m',1981,"célibataire",false);
p2= new Personne("weslati","safa",'f',1991,"célibataire",false);
System.out.println("*******les info avant mariage**********");
p1.retourneInfos();
p2.retourneInfos();
System.out.println("l’age de la premiere personne "+p1.age());
System.out.println("l’age de la deuxième personne "+p2.age());
System.out.println("*******les info aprés mariage**********");
p1.marier(p2);
p1.retourneInfos();
p2.retourneInfos();
}
}
Exercice 4 :
Tirelire.java
public class Tirelire{
public Double montant;
public Tirelire(Double s){
this.montant = s;
}
public void deposer(Double d){
this.montant += d;
}
public void retirer(Double r){
this.montant -= r;
}
public void afficher(){
System.out.println("Votre montant est de : " + this.montant+ " dt");
}
}
Exercice 5 :
Fascicule.Java
public class Fascicule {
public int id;
public String titre;
4
public String auteur;
public double prix;
import java.util.Scanner;
public class TestFascicule{
public static void main(String[] args){
// Création du tableau livres avec une dimension =2
Fascicule[] fascicules = new Fascicule[2];
Scanner sc = null;
//Insertion des informations des trois fascicules en balayant le tableau
for (int i = 0; i < fascicules.length; i++) {
sc = new Scanner(System.in);
System.out.print("Donner le titre du fascicule n°" + (i + 1) + " :");
String titre = sc.nextLine();
System.out.print("Donner le nom de l'auteur du fascicule n°" + (i + 1) + " :");
String auteur = sc.nextLine();
System.out.print("Donner le prix du fascicule n°" + (i + 1) + " :");
int prix = sc.nextInt();
fascicules[i] = new Fascicule(titre, auteur, prix);
}
// Libération de l'espace mémoire utilisé par le scanner sc
sc.close();
}
}