Page 1 Master 1ère année AIGEME – Module « Java Initiation »
TP numéro 2 : Programmes avec structures conditionnelles
Exercice 1 : Sécurité sociale
Ecrivez et exécutez un programme qui réponde au problème suivant : Vous effectuez une dépense de santé d’un montant MT à saisir.
La Sécurité sociale vous rembourse 70% de (MT moins 1 euro) Votre mutuelle vous rembourse 30 % de (MT moins 1 euro) Vous payez le montant restant.
Affichez ce que paie la Sécurité sociale, ce que paye la mutuelle, ce que vous payez.
public class SS {
public static void main(String[] args) {
System.out.println("Saisissez le montant de votre dépense:");
double mt=Lire.lireDouble();
double base=mt-1;
double rbtSS=base*0.7;
double rbtMut=base*0.3;
double aPayer=mt-rbtSS-rbtMut;
System.out.println("La Sécuriré sociale vous rembourse:"+rbtSS);
System.out.println("La mutuelle paye:"+rbtMut);
System.out.println("Vous payez:"+aPayer);
} }
Exercice 2 : Commande
Ecrivez un programme qui calcule le prix d’une commande pour une société.
L’utilisateur devra renseigner:
- le prix unitaire du produit - la quantité commandée En retour, le programme affichera:
- le montant de la commande - la remise de 5%
- les frais de port ( 2% montant de la commande) - le montant final
public class Commande {
public static void main(String[] args) {
System.out.println("Saisissez le prix unitaire du produit:");
double prix=Lire.lireDouble();
System.out.println("Saisissez la quantité de produits:");
int qte=Lire.lireInt();
double mtCde=prix*qte;
double remise=mtCde*5/100;
double port=mtCde*2/100;
System.out.println("Montant de la commande:"+prix*qte);
System.out.println("Remise:"+(prix*qte)*5/100);
System.out.println("Frais de port:"+(prix*qte)*2/100);
System.out.println("Prix à payer:"+(mtCde-remise+port));
} }
Exercice 3 :Plus petit
Ecrire un programme qui affiche le plus petit de deux nombres réels entrés au clavier par l’utilisateur.
public class PlusPetit {
public static void main(String[] args) {
System.out.println("Saisissez le premier nombre:");
double nb1=Lire.lireDouble();
System.out.println("Saisissez le deuxième nombre:");
double nb2=Lire.lireDouble();
if (nb1>nb2)
System.out.println("Le plus petit nombre est :"+nb2);
else System.out.println("Le plus petit nombre est :"+nb1);
}
}
Page 2 Exercice 4 :Pyramide
Créer un programme qui affiche une pyramide d’étoiles une hauteur de 10 étoiles
*
***** ***
*******
*********
***********
*************
***************
*****************
*******************
Modifiez ce programme pour afficher une pyramide dont la hauteur est saisie par l’utilisateur.
Remarque : La hauteur saisie sera inférieure à 11
public class Pyramide{
public static void main(String[] args) {
System.out.println("Saisissez la hauteur:");
int hauteur=Lire.lireInt();
if (hauteur>0) System.out.println(" *");
if (hauteur>1) System.out.println(" ***");
if (hauteur>2) System.out.println(" *****");
if (hauteur>3) System.out.println(" *******");
if (hauteur>4) System.out.println(" *********");
if (hauteur>5) System.out.println(" ***********");
if (hauteur>6) System.out.println(" *************");
if (hauteur>7) System.out.println(" ***************");
if (hauteur>8) System.out.println(" *****************");
if (hauteur>9) System.out.println("*******************");
}
}
Page 3 Exercice 5 : Tri de mots
Ecrire un programme qui affiche dans l’ordre alphabétique 3 mots saisis par un utilisateur.
public class TriMots{
public static void main(String[] args) {
System.out.println("Saisissez le premier mot:");
String mot1=Lire.lireStr();
System.out.println("Saisissez le second mot:");
String mot2=Lire.lireStr();
System.out.println("Saisissez le troisième mot:");
String mot3=Lire.lireStr();
String plusPetit, plusGrand, milieu;
if (mot1.compareTo(mot2)>= 0 && mot1.compareTo(mot3)>= 0 ){
plusGrand=mot1;
if (mot2.compareTo(mot3)>=0){
milieu=mot2;
plusPetit=mot3;
} else {
plusPetit = mot2;
milieu = mot3;
} }
else{
if (mot2.compareTo(mot3)>0){
plusGrand=mot2;
if (mot1.compareTo(mot3)>=0){
milieu=mot1;
plusPetit=mot3;
} else {
plusPetit = mot1;
milieu = mot3;
} }
else{
plusGrand=mot3;
if (mot2.compareTo(mot1)>=0){
milieu=mot2;
plusPetit=mot1;
} else {
plusPetit = mot2;
milieu = mot1;
} }
}
System.out.println(plusPetit);
System.out.println(milieu);
System.out.println(plusGrand);
} }
Voici une méthode plus élégante qui sera étudiée ultérieurement…
import java.util.*;
public class TriMots{
public static void main(String[] args) {
System.out.println("Saisissez le premier mot:");
String mot1=Lire.lireStr();
System.out.println("Saisissez le second mot:");
String mot2=Lire.lireStr();
System.out.println("Saisissez le troisième mot:");
String mot3=Lire.lireStr();
ArrayList<String> tabMots = new ArrayList<String>();
tabMots.add(mot1);
tabMots.add(mot2);
tabMots.add(mot3);
Collections.sort(tabMots);
for (int i=0; i<tabMots.size();i++)
System.out.println(tabMots.get(i));
} }