Vous êtes sur la page 1sur 5

Module : Programmation Java Classe : 2LSI Année Universitaire : 2022-2023

TP 2 : Correction

Exercice 1 :
Avion.java

public class Avion {


public int id;
public String marque;
public double vitesse;
public int puissance;

public static int count = 0;


// Création du constructeur avec les différents attributs marque, vitesse,
puissance
public Avion(String marque, double vitesse, int puissance) {
this.id = ++count;
this.marque = marque;
this.vitesse = vitesse;
this.puissance = puissance; }
// 1ere méthode d’affichage de type void permettant d’afficher les informations
public void affichage() {
System.out.println("id=" + id + ", marque=" + marque + ", vitesse=" + vitesse + " km/h , puissance=" +
puissance);
// 2eme méthode d’affichage toString () de type String permettant d’afficher les
informations
public String toString() {
return "id=" + id + ", marque=" + marque + ", vitesse=" + vitesse + "km/h , puissance=" + puissance;
}
}

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.

Puis compiler le programme principal : TestAvion.java

public class TestAvion {


// Programme principal
public static void main(String[] args) {
Avion Boeing = new Avion("Boeing", 920, 3000);
Avion ATR = new Avion("ATR", 554, 2750);
Avion Airbus = new Avion("Airbus", 1020, 3700);
// 1ère méthode d’affichage des informations de l’avion
Boeing.affichage();
ATR.affichage();
Airbus.affichage();

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

public class TestPersonne {


public static void main(String[] args){

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

public class TestTirelire{


public static void main(String[] args){
Tirelire monMontant = new Tirelire(5000.0);
monMontant.deposer(2000.0);
monMontant.retirer(1000.0);
monMontant.afficher();
}
}

Exercice 5 :
Fascicule.Java
public class Fascicule {
public int id;
public String titre;

4
public String auteur;
public double prix;

public int getId() {


return id;}
public String getTitre() {
return titre;}
public String getAuteur() {
return auteur;}
public double getPrix() {
return prix;}

public static int count;


public Fascicule(String titre, String auteur, double prix) {
this.id=++count;
this.titre=titre;
this.auteur=auteur;
this.prix=prix;
}
public String toString() {
return "Le prix du Fascicule " + this.titre + " de l'auteur nommé " + this.auteur + " est : " + this.prix + "
dt";
}
}

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

Vous aimerez peut-être aussi