• Aucun résultat trouvé

JAVA : Premiers objets Exercice 1 : Création et utilisation de crayons

N/A
N/A
Protected

Academic year: 2022

Partager "JAVA : Premiers objets Exercice 1 : Création et utilisation de crayons"

Copied!
3
0
0

Texte intégral

(1)

Page 1

JAVA : Premiers objets

Exercice 1 : Création et utilisation de crayons

a) Créer un programme Java qui permet à l’utilisateur de saisir la longueur et le diamètre d’un crayon et d’afficher son volume.

Exemple de résultat à obtenir :

>java Crayon1 Saisir une longueur 8

Saisir un diametre 0.85

Le volume du crayon = 4.5373

public class Crayon1 {

public static void main(String [] args){

System.out.println("Saisir une longueur ");

int longueur = Lire.lireInt();

System.out.println("Saisir un diametre ");

double diametre = Lire.lireDouble();

double rayon = diametre / 2;

double surface = 3.14 * rayon * rayon;

double volume = surface * longueur;

System.out.println("Le volume du crayon = "+volume);

} }

b) Créer la classe Crayon avec ses 2 propriétés « longueur » et « diamètre ». Pour le moment, les propriétés ne sont pas privées et la classe Crayon ne dispose pas de méthode.

public class Crayon { int longueur;

double diametre;

}

c) Créer un programme Java « UtiliseCrayon.java » qui permet à l’utilisateur de créer 2 crayons de longueurs différentes et d’afficher les propriétés de chacun.

public class UtiliseCrayon {

public static void main(String [] args){

Crayon c1= new Crayon();

c1.longueur=4;

c1.diametre=0.5;

System.out.println("Adresse du crayon:"+c1.toString());

System.out.println("Longueur du crayon:"+c1.longueur);

System.out.println("Diametre du crayon:"+c1.diametre);

} }

d) Grâce au mot clé « private », indiquez maintenant que les propriétés de « Crayon » sont privées. Que fait votre programme « UtiliseCrayon » ?

Il y a erreur de compilation car les attributs sont privés.

e) Pour pouvoir créer des crayons avec des propriétés différentes, créer un constructeur « Crayon » qui reçoit 2 paramètres « lg » et « diam ». Grâce à votre programme « UtiliseCrayon », créez 2 crayons différents et afficher leurs propriétés.

Exemple de résultat à obtenir :

>java UtiliseCrayon

Proprietes du premier crayon:

diametre=0.5 longueur=5

Proprietes du second crayon:

diametre=0.8 longueur=7

(2)

Page 2 public Crayon (int longu , double diam) {

this.longueur = longu;

this.diametre = diam;

}

f) Créer la méthode publique « affiche » de la classe « Crayon » et modifiez votre programme « UtiliseCrayon » pour afficher les propriétés de vos 2 crayons.

public void affiche() {

System.out.println("diametre=" + diametre);

System.out.println("longueur=" + longueur);

}

Essayez de définir la méthode « affiche » privée. Que se passe t-il quand vous essayez d’utiliser vos crayons ? On en peut plus utiliser la méthode affiche() car elle est privée : Erreur de compil

g) Créer la méthode privée « donneVolume » de la classe « Crayon » et apportez les modifications nécessaires pour qu’un appel de la méthode « affiche() » affiche maintenant à la fois la longueur, le diamètre et le volume du crayon.

private void affiche(){

System.out.println("diametre=" + diametre);

System.out.println("longueur=" + longueur);

System.out.println("volume=" + donneVolume());

}

private double donneVolume() { double pi = 3.14;

double r = diametre/2;

double volume = pi*r*r*longueur;

return volume;

}

h) Votre crayon est usé ! Il faut donc le tailler ! Tailler un crayon consiste à diminuer sa longueur de quelques millimètres. Créer la méthode publique « taille » qui reçoit en argument le nombre de millimètres à tailler.

Avec votre programme « UtiliseCrayon », tailler vos crayons et afficher les nouvelles caractéristiques de vos crayons.

Exemple

…/…

leCrayon.taille(10); // Taille le crayon d’un centimètre leCrayon.affiche(); // La longueur du crayon va être 1 cm plus courte

…/…

public void taille(int longueur) {

this.longueur = this.longueur - longueur;

}

i) Modifiez votre méthode « taille » pour interdire d’avoir des crayons de longueur négative. Forcez dans ce cas la longueur à zéro.

public void taille(int longueur) {

this.longueur = this.longueur - longueur;

if (this.longueur < 0){

this.longueur = 0;

} }

(3)

Page 3 Exercice 2 : un objet « Telecarte50 »

Voici la classe Telecarte50 :

T elecarte50 - unites : int +

+

getUnites () debiterUnites (int n)

: int : void

Une instance de cette classe sera un objet : une carte téléphonique de 50 unités.

Le nombre d’unité restantes est contenu dans la propriété unites. A la création de l’objet, cette propriété a pour valeur 50.

La méthode « getUnites » retourne le nombre d’untiés restantes.

La méthode « debiterUnites » debite la carte du nombre d’unités passées en paramètres.

a) Créer la classe Telecarte50.

b) Créer un programme Java « UtiliseTelecarte.java » qui :

• Crée une télécarte

• Affiche le nombre d’unités de la télécarte

• Demande à l’utilisateur s’il veut téléphoner

• S’il répond « OUI », demande à l’utilisateur le nombre d’unités consommées

• Débite le nombre d’unités de la télécarte si cela est possible sinon affiche un message d’erreur

• Affiche le nombre d’unités restantes.

public class Telecarte50 { private int unites = 50;

public int getUnites() { return unites;

}

public void debiterUnites(int n) { unites = unites - n;

}

public class UtiliseTelecarte {

public static void main(String args[]){

Telecarte50 laTelecarte = new Telecarte50();

System.out.println("La telecarte dispose de " + laTelecarte.getUnites() + " unites");

System.out.println("Voulez-vous telephoner ?");

char rep = Lire.lireChar();

if (rep == 'O'){

System.out.println("Nb unites consommees:");

int nb = Lire.lireInt();

if ((laTelecarte.getUnites() - nb) >= 0){

laTelecarte.debiterUnites(nb);

} else{

System.out.println("Solde insuffisant");

} }

System.out.println("Il vous reste " + laTelecarte.getUnites() + " unites");

} }

Références

Documents relatifs

Dans un triangle rectangle, on connait les longueurs de deux côtés de l’angle droit et on veut calculer la longueur de l’hypoténuse.. On écrit la propriété

Chaque voiture sera un thread diff´ erent, qui, une fois pass´ ee sur le pont, recommence toujours dans la mˆ eme direction2. Modifiez votre solution pour permettre au plus 4

Justification : le symétrique d’un segment par rapport à une droite est un segment de même longueur (La symétrie axiale conserve les distances ).. On en déduit que ces deux angles

Vos résultats seront indiqués dans un tableau (consigne de présentation). 1°) A l’aide du logiciel, notez dans un tableau la longueur des deux gènes. 2°) Comparez (avec

Soit X la variable al´ eatoire qui compte le nombre d’´ el` eves utilisant Internet dans un ´ echantillon al´ eatoire d’´ el` eves du lyc´ ee de taille 64.. (1) Quelle loi

(1) D´eterminer l’intervalle de fluctuation au seuil de 95% de la fr´equence des Anglais ayant les bleus ou verts dans les ´echantillons de taille 100.. (2) On a observ´e 51

Définition : Dans un triangle rectangle, on appelle le cosinus d'un angle aigu : le quotient de la longueur du côté adjacent à cet angle par celle de l'hypoténuse du triangle.. On

Dans un triangle rectangle, on connait les longueurs de deux côtés de l’angle droit et on veut calculer la longueur de l’hypoténuse.. On écrit la propriété