52
HOUNGBEME Joseph http://master1istri.blogspot.com/ 1 JAVA Joseph HOUNGBEME [email protected]

BEBUTANT JAVA

Embed Size (px)

Citation preview

Page 1: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 1

JAVA

Joseph HOUNGBEME

[email protected]

Page 2: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 2

Sommaire

I-Petite programme en java

Mini projet 1

Java 0 : On veut afficher notre premier programme

Java 1 Nombre entier inférieur à 15

Java 2 -0 Nombre paire inférieure à 20

Java 2 Nombre paire inférieure à 20

Java 3 Nombre impaire inférieure ou égale à 18

Java 3 lire les entrés du clavier

Java 4 Un nombre entier puis les 10 nombre suivant

Java 5 CALCULE DU IMC (indice de masse corporelle )

Java 6 Somme et Produit de deux entier

Java 7

Java 8 constantes maths;

Exercice 1

Exercice 2

Exercice 3

Montant payable

II - Résume java niveau 1

Mini exercices solution 1

Mini exercices solution 2

A - Conversion d'horloge java

B - Comparaison par min max

C - Montant en lettre

B - Equation du 2ème degré.

III - J2EE - Java 2 Enterprise Edition

Java Framework

Introduction à J2EE

Les API de J2EE

Les composants

Les services

Page 3: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 3

PETITE PROGRAMME EN JAVA BEBUTANT

0° afficher Bonjour le monde !

1° Un programme qui affiche les nombres entiers inférieure à

15 ligne par ligne

2° Un programme qui affiche les nombres pairs inférieurs a

20 ligne par ligne

3° Un programme qui affiche les nombres

impaire ne dépassant pas 18 linge par ligne

4° Programme qui saisit un nombre entier puis affiche les 10

nombre suivant

5 ° Programme qui calcule l'indice de masse corporelle

IMC d'un individus

6 ° Programme qui saisit deux nombre entier puis affiche leur

somme , leur produit

7 ° Programme qui saisit un entier puis affiche : sa moitié,

son carré, puis son double .

8 ° Afficher la valeur de pi. valeur d'exponentielle de sinus

45 de cosinus 10 racine carrée de 10 de 10 puissance 5 de

la partie entière 5

Page 4: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 4

Réponses

J'utilise netbeans

Java 0 : On veut afficher notre premier programme

package bonjourmonde;

public class BonjourMonde {

public static void main(String[] args) {

System.out.println("Bonjour le Monde !");

}

}

run:

Bonjour le Monde !

BUILD SUCCESSFUL (total time: 0 seconds)

Noter que sans " ln " on ira pas à la ligne suivante

Java 1 Nombre entier inférieur à 15

for (initialisation; condition; modification) {

...//Code à exécuter dans la boucle

}

for(int i=0; i<15 ;i++ )

{

System.out.println(i);

}

Page 5: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 5

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

BUILD SUCCESSFUL (total time: 0 seconds)

Java 2 -0 Nombre paire inférieure à 20

public static void main(String[] args) {

for(int i=0; i<20;i=i+2

{

System.out.println("Nombre paire " +i);

}

run:

Nombre paire 0

Nombre paire 2

Nombre paire 4

Nombre paire 6

Nombre paire 8

Nombre paire 10

Nombre paire 12

Nombre paire 14

Nombre paire 16

Nombre paire 18

BUILD SUCCESSFUL (total time: 0 seconds)

Page 6: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 6

Java 2 Nombre paire inférieure à 20

int i;

for (i=0;i<20;i++)

{

if(i%2==0)

System.out.println(+i);

}

run:

Nombre paire 0

Nombre paire 2

Nombre paire 4

Nombre paire 6

Nombre paire 8

Nombre paire 10

Nombre paire 12

Nombre paire 14

Nombre paire 16

Nombre paire 18

BUILD SUCCESSFUL (total time: 0 seconds)

Java 3 Nombre impaire inférieure ou égale à 18

for(int i=0;i<=18;i=i++)

{

if(i%2!=0)

System.out.println("Nombre impaire " +i);

}

run: 1 3 5

Page 7: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 7

7 9 11 13 15 17 BUILD SUCCESSFUL (total time: 0 seconds)

Java 3 lire les entrés du clavier

public static void main(String[] args){

System.out.println("Entrer un nom ");

Scanner mot = new Scanner(System.in);

String str = mot.nextLine();

System.out.println("Entrer le nombre ");

int in = mot.nextInt();

System.out.println("vous avez bien entrez " +

str + " est le numero N°" +in );

}

run:

Entrer un nom

violonjo

Entrer le nombre

1

vous avez bien entrez violonjo est le numero N°1

BUILD SUCCESSFUL (total time: 12 seconds)

Java 4 Un nombre entier puis les 10 nombre suivant

public static void main(String[] args) {

System.out.println("Entrer le nombre entier");

Scanner nbr = new Scanner(System.in);

int in = nbr.nextInt();

for(int i = 1; i <=11; i++)

Page 8: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 8

System.out.println(+in+i );

}

RUN

Entrer le nombre entier

20

21

22

23

24

25

26

27

28

29

30

31

BUILD SUCCESSFUL (total time: 6 seconds)

INTRO

if (boolean) {

...//Code à exécuter dans la condition

}

else if (boolean) {

...//Code à exécuter si la première condition est fausse et la deuxième vraie

}

else {

...//Code à exécuter si les précédentes conditions ne sont pa vérifiées

}

Page 9: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 9

Java 5 CALCULE DU IMC (indice de

masse corporelle )

package imc;

import java.util.Scanner;

public class Imc {

public static void main(String[] args) {

System.out.println("----------------------------------

-------------------------");

System.out.println(" Calulez votre indice corporelle

(IMC) ");

System.out.println("----------------------------------

------------------------");

System.out.println("Donnez votre poids en kg: ");

Scanner kg =new Scanner (System.in);

double k = kg.nextDouble();

System.out.println("Donnez votre taille en metre: ");

Scanner metr =new Scanner (System.in);

double m = metr.nextDouble();

System.out.println("Votre indice corporelle IMC est =

"+k/(m*m));

if (k/(m*m) <= 16.5)

System.out.println(" grave!!!! quelle Dénutrition!");

if (k/(m*m)>16.5&&k/(m*m)<=18.5 )

Page 10: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 10

System.out.println("vous étes Maigre!!!!!");

if (k/(m*m)>18.5&&k/(m*m)<=25 )

System.out.println("Bon super !!!! Corpulence normale!");

if (k/(m*m)>25&&k/(m*m)<=30 )

System.out.println(" ehh !!!!Surpoids!");

if (k/(m*m)>30&&k/(m*m)<=35

)

System.out.println("Obésité modérée!");

if (k/(m*m)>35)

System.out.println("Obésité morbide ou massive!");

}

}

run:

-------------------------------------------

Calulez votre indice corporelle (IMC)

-------------------------------------------

Donnez votre poids en kg:

80

Donnez votre taille en metre:

1,80

Votre indice corporelle IMC est = 24.691358024691358

Bon super !!!! Corpulence normale!

BUILD SUCCESSFUL (total time: 6 minutes 55 seconds)

Java 6 Somme et Produit de deux entier

public static void main(String[] args) {

System.out.println("Premier entier ");

Scanner ent1 = new Scanner(System.in);

Page 11: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 11

int i = ent1.nextInt();

System.out.println("Deuxième entier ");

Scanner ent2 = new Scanner(System.in);

int e = ent2.nextInt();

int som = i+e;

int prod = i*e;

System.out.println("somme de "+ i +" + "+ e + " = "+som );

System.out.println("produit de "+ i + " * "+ e + " =

"+prod );

}

run:

Premier entier

12

Deuxième entier

14

somme de 12 + 14 = 26

produit de 12 * 14 = 168

BUILD SUCCESSFUL (total time: 4 seconds)

Java 7

public static void main(String[] args) {

System.out.println("Saisie un nombre entier ");

Scanner ent = new Scanner(System.in);

double i = ent.nextDouble();

System.out.println("moitié = "+i/2+"\ncarré =

"+i*i+"\ndouble = "+i*2);

Page 12: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 12

run:

Saisie un nombre entier

9

moitié = 4.5

carré = 81.0

double = 18.0

BUILD SUCCESSFUL (total time: 3 seconds)

Java 8

package constantesmaths;

public class ConstantesMaths {

public static void main(String[] args)

{

System.out.println("valeur de

pi................................. = " + Math.PI);

System.out.println("valeur de l'exponentielle

.......... = " + Math.E);

System.out.println("valeur de sinus 45

......................= " + Math.sin(45));

System.out.println("valeur de cosinus 10

..................= " + Math.cos(10));

System.out.println("valeur de racine carrée de 10....=

" + Math.sqrt(10));

System.out.println("valeur de 10 puissance

5............= " + Math.pow(10,5));

System.out.println("valeur de la partie entière

5.......= " + Math.ceil(5));

}

}

run:

valeur de pi................... = 3.141592653589793

valeur de l'exponentielle ..... = 2.718281828459045

valeur de sinus 45 .............= 0.8509035245341184

valeur de cosinus 10 ...........= -0.8390715290764524

valeur de racine carrée de 10...= 3.1622776601683795

valeur de 10 puissance 5........= 100000.0

valeur de la partie entière 5...= 5.0

BUILD SUCCESSFUL (total time: 0 seconds)

Page 13: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 13

II-MINI PROJET 1

Exercice 1

Un vendeur de boisson vend des fanta et des malta au prix de

225 la fanta et 300 la malta. Dans la journée , il vend X

fanta et Y malta.

Ecrire un programme java qui affiche le chiffre d'affaire

fanta, le chiffre d'affaire malta ,le chiffre d'affaire

totale des boissons vendues.

Il doit payer à l'état une taxe de 18% du montant de ses

ventes, afficher le montant payé à l'état ainsi que le

bénéfice réalisé dans la journée

NB CA FANTA : XXXXXX

CA MALTA : XXXXXX

CA TOTAL : XXXXXX

Mt ETAT : XXXXXX

BENEFICE : XXXXXX

CA chiffre d'affaire

X nombre de fanta et Y nombre de malta vendu : à votre

choix

Exercice 2

Initialiser deux variables , x et y ,x à 2.0 et y à 3.0

Page 14: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 14

Ecrire un programme Java qui calcule.

Le produit des 2 variables,

Sinus (a+b),

a à la puissance b.

Exercice 3

A) Qu'affiche l'extrait de ce code ? Sans saisir le programme

for(int i = 0; i < 6; 1+=2)

{

System.out.println("Java");

}

B) Ecrire un programme qui affiche l'alphabet de Z à A

1) En utilisant la boucle for

2) En utilisant la boucle while

3) En utilisant la boucle do...while ...

Page 15: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 15

Réponses

Exercice 1

package boutique;

import java.util.Scanner;

public class Boutique {

public static void main(String[] args) {

System.out.println("Donnez le nombre de fanta vendu

TTC");

Scanner fanta = new Scanner(System.in);

int nbrf = fanta.nextInt();

int pfanta = 225;

double resultatCAF = (double)(pfanta*nbrf);

System.out.println("Donnez le nombre de malta vendu

TTC");

Page 16: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 16

Scanner malta = new Scanner(System.in);

int nbrm = malta.nextInt();

int pmalta = 300;

double resultatCAM = (double)(pmalta*nbrm);

System.out.println("Votre CA FANTA TTC

est:"+resultatCAF+"f");

System.out.println("Votre CA MALTA TTC

est:"+resultatCAM+"f");

double resultatCAT =

(double)(resultatCAF+resultatCAM);

System.out.println("Votre CA TOTAL TTC

est:"+resultatCAT+"f");

double mtetat = (double)((18*resultatCAT)/100);

System.out.println("Votre taxe TVA :MT ETAT

"+mtetat+"f ");

double benef = (double)(resultatCAT+mtetat);

System.out.println("Votre reste Totale

"+benef+"f");

}

}

Page 17: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 17

run:

Donnez le nombre de fanta vendu TTC

50

Donnez le nombre de malta vendu TTC

90

Votre CA FANTA TTC est:11250.0f

Votre CA MALTA TTC est:27000.0f

Votre CA TOTAL TTC est:38250.0f

Votre taxe TVA :MT ETAT 6885.0f

Votre reste Totale 45135.0f

BUILD SUCCESSFUL (total time: 1 minute 0 seconds)

Exercice 2

public static

void main(String[] args) {

double x = 2.0, y = 3.0;

double prod = (double)(x * y);

System.out.println("les variables initialisées sont x

= 2.0 et y = 3.0 : ");

System.out.println("le produit des variables x et y

est: "+prod);

System.out.println("valeur de sinus(x+y) = " +

(((Math.sin(x))*(Math.cos( y)))-((Math.cos(x))*(Math.sin(

y)))) );

System.out.println("x à la puissance y =" +

Math.pow(x, y));

}

run:

les variables initialisées sont x = 2.0 et y = 3.0 :

le produit des variables x et y est: 6.0

valeur de sinus(x+y) = -0.8414709848078964

x à la puissance y =8.0

BUILD SUCCESSFUL (total time: 1 second)

Page 18: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 18

Exercice 3

A)

java

java

java

B)

1) En utilisant la boucle for

char c;

for(c='Z';c>='A';c--)

{

System.out.println(c);

}

2) En utilisant la boucle while

char c='Z';

do

{

System.out.println(c);

c--;

}

Page 19: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 19

while(c>='A');

3) En utilisant la boucle do...while ...

char c ='Z';

while (c>='A')

{

System.out.println(c);

c--;

}

Page 20: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 20

Montant payable

Objectif

Ce projet a pour objectif d'afficher le montant payable

dans une banque ou autre : soit la fin du montant 0 ou 5

Raison

Du fait que sur les factures, nous avons des montants

dont 101 f certain clients , en remettant 105 f veulent

à tout prix avoir leur reliquat de 4 f ou d'autre dans

cas

Problème

Quelque solution proposez vous afin de palier ce problème

Afficher le montant totale

Afficher le montant payable

Solution dans la programmation java

package payarrondie;

import java.util.Scanner;

public class Payarrondie {

public static void main(String[] args) {

System.out.println("Saisir le premier montant");

Scanner nbr1 = new Scanner (System.in);

double mt1 = nbr1.nextDouble();

Page 21: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 21

System.out.println("Saisir le deuxième montant");

Scanner nbr2 = new Scanner (System.in);

double mt2 = nbr2.nextDouble();

double mt = (double)(mt1+mt2);

System.out.println("Le montant totale est "+mt);

if ((mt%10)>0 && (mt%10)<5)

{

double map =(mt+5)-(mt%10);

System.out.println("------------------------------

-- ");

System.out.println(" Le montant payable est "+

map);

System.out.println("-----------------------------

---- ");

}

if ((mt%10)>5)

{

double map = (mt+10)-(mt%10);

System.out.println("-----------------------------

--- ");

System.out.println(" Le montant payable est "+

map);

System.out.println("-----------------------------

---- ");

}

}

}

Page 22: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 22

run:

Saisir le premier montant

100

Saisir le deuxième montant

101

Le montant totale est 201.0

--------------------------------

Le montant payable est 205.0

---------------------------------

BUILD SUCCESSFUL (total time: 9 seconds)

run:

Saisir le premier montant

104

Saisir le deuxième montant

102

Le montant totale est 206.0

--------------------------------

Le montant payable est 210.0

---------------------------------

BUILD SUCCESSFUL (total time: 34 seconds)

Page 23: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 23

RESUME JAVA NIVEAU 1

Mini Exercices 1

a

Page 24: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 24

b

Page 25: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 25

Le lien entre les questionnaires abc

package mimiex;

import java.util.Scanner;

public class Mimiex {

public void nbreDepiece(int mt, int p){

int nb=(mt/p);

System.out.println("Il y'a "+nb+" pièces");

}

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

int nb,mt,p1=250,p2=200,p3=100,p4=50,p5=25,p6=10,p7=5,operateur;

Double a=50.0,b=100.0,j,x,y,z,som,prod,sous,div,mod;

System.out.println("1: Initialiser");

System.out.println("2: Calcule et Affichage");

System.out.println("3: Rendre de la monnaie");

System.out.print("Votre choix svp :");

operateur=sc.nextInt();

switch(operateur)

{

case 1:

j=b-2*a;

try

{

System.out.println(a/j);

}

catch(ArithmeticException k)

{

System.out.println("impossible de continuer");

}

System.out.println("mon exception java");

break;

Page 26: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 26

case 2:

System.out.print("donner la valeur de x= ");

x=sc.nextDouble();

System.out.print("donner la valeur de y= ");

y=sc.nextDouble();

som=x+y;

System.out.println("La somme egal à ="+som);

prod=x*y;

System.out.println("Le produit egal à ="+prod);

sous=x-y;

System.out.println("La soustraction egal à ="+sous);

if(y!=0){

div=x/y;

mod=x%y;

System.out.println("La division egal à :"+div);

System.out.println("Le reste de la division entière egal à

:"+mod);

}

else

System.out.println("Impossible de diviser par zero");

break;

case 3:System.out.print("Donnez un montant stp:");

mt=sc.nextInt();

nb=(mt/p1);

System.out.println("Il y'a "+nb+" pièces de 250 Francs");

nb=(mt/p2);

System.out.println("Il y'a "+nb+" pièces de 200 Francs");

nb=(mt/p3);

System.out.println("Il y'a "+nb+" pièces de 100 Francs");

nb=(mt/p4);

System.out.println("Il y'a "+nb+" pièces de 50 Francs");

nb=(mt/p5);

System.out.println("Il y'a "+nb+" pièces de 25 Francs");

nb=(mt/p6);

System.out.println("Il y'a "+nb+" pièces de 10 Francs");

nb=(mt/p7);

System.out.println("Il y'a "+nb+" pièces de 5 Francs");

break;

default : System.out.println("cette opérateur inconnue\n");

}

}

}

Page 27: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 27

run

Ma Facture

Vous êtes chargé de réaliser une petite application qui saisit le

nom d'un produit , sa quantité , son prix unitaire.

Calcule et affiche le montant hors taxe (mthva) le montant de

la tva (mtva) le net à payer le montant payable sachant qu'on

applique une remise de 5% aux clients dont le

montant dépasse 50 000 francs

Page 28: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 28

Solution dans la programmation java

j'utilise netbeans

package facturation;

import java.util.Scanner;

/*

* @author jo

*/

public class Facturation {

public static void main(String[] args) {

int qte;

String design ="";

double pu;

double mht,mtva,nap,rem,map;

System.out.println("---------------------------

----------");

System.out.println(" Marché de

Facturation ");

System.out.println("---------------------------

----------");

Page 29: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 29

Scanner nbr=new Scanner(System.in);

System.out.println("Désignation de produit ");

design=nbr.next();

System.out.println("Quantité du produit ");

qte=nbr.nextInt();

System.out.println("Prix unitaire du produit

");

pu=nbr.nextInt();

mht=pu*qte;

mtva=(mht*18)/100;

map=mht+mtva;

System.out.println("Montant hors taxe.....=

"+mht);

System.out.println("Montant de la tva.....=

"+mtva);

if(map<50000.0)

{

if ((map%10)>0 && (map%10)<5)

{

nap =(map+5)-(map%10);

System.out.println("Votre achat ne dépasse pas

50000 fr");

System.out.println("Montant net a payer... =

Page 30: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 30

"+map);// c'est le montant le totale

System.out.println("Montant payable... =

"+nap);// on rend le mont montant payable soit 0 ou 5

}

else if ((map%10)>5)

{

nap = (map+10)-(map%10);

System.out.println("Remise à plus de 50000

fr d'achat");

System.out.println("Montant totale... =

"+map);// c'est le montant le totale

System.out.println("Montant payable (nep)...

= "+nap);// on rend le mont montant payable soit 0 ou 5

}

else if(map>50000.0)

{

System.out.println("Vous avez une remise de

5%");

rem=(map*5)/100;

nap=map-rem;

if ((map%10)>0 && (map%10)<5)

{

nap =(map+5)-(map%10);

System.out.println("La remise est.........=

"+rem);

System.out.println("Montant totale...=

Page 31: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 31

"+nap);

System.out.println("Montant payable

(nep)... = "+nap);// on rend le mont montant payable

soit 0 ou 5

}

else if ((map%10)>5)

{

nap = (map+10)-(map%10);

System.out.println("La remise

est.........= "+rem);

System.out.println("Montant totale...=

"+nap);

System.out.println("Montant payable

(nep)... = "+nap);// on rend le mont montant payable

soit 0 ou 5

}

}

}

}

}

Page 32: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 32

Equation du 2ème degré.

Algorithme pour résoudre l'équation du deuxième degré:

ax2 + bx + c = 0

Si a = 0, on se ramène à une équation du premier degré.

Si a est différent de 0,

on calcule le discriminant Delta = b2 - 4 * a * c

si Delta>0 l'équation a 2 racines réelles distinctes

que l'on

calcule avec (-b+ Delta)/(2*a)

et (-b- Delta)/(2*a)

si Delta=0, les 2 formules ci-dessus sont encore

valables

et fournissent 2 valeurs égales -b/(2*a)

si Delta<0, les 2 formules contenant Delta ne sont

plus valables dans les réels et il faut passer

dans l'ensemble des nombres complexes

pour obtenir des réponses

-b/(2*a) +i -Delta /(2*a)

-b/(2*a) -i -

Delta /(2*a)

NOTE: i est un symbole tel que

i2=-1

Solution dans la programmation java

Page 33: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 33

j'utilise netbeans

package equation;

import java.util.Scanner;

/**

*

* @author jo

*/

public class Equation {

public static void main(String[] args) {

System.out.println(" Resolveur d'Equation du

Second dégrer\n -------------------------------------" );

Scanner nbr=new Scanner(System.in);

double a,b,c,X1,X2,delta;

System.out.println(" Valeur de a");

a=nbr.nextDouble();

System.out.println(" Valeur de b");

b=nbr.nextDouble();

System.out.println(" Valeur de c");

c=nbr.nextDouble();

System.out.println(" l'équation

f(x)="+a+"x²+"+b+"y+"+c);

System.out.println("----------------- Résolution------

----------- ");

Page 34: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 34

if(a==0)

{

System.out.println("Equation du premier Dégrer");

if(b==0)

{

System.out.println("C'est une constante f(x)="+c);

}

else{

System.out.println("C'est une fonction affine f(x) =

"+b+"x + "+c+"\net x = "+ -c/b);

}

}

if(a!=0)

{

delta=(b*b)-4*a*c;

if(delta>0)

{//printf("il y a deuxracines

distincts.\n",X1,X2),

X1=((-b-Math.sqrt(delta)/2*a));

X2=((-b+Math.sqrt(delta)/2*a));

System.out.println("Deux racine distincts:

"+X1+" et X2 = "+X2);

}

else if(delta==0)

{

X1=(-b/2*a);

Page 35: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 35

X2=X1;

System.out.println("il y'a une racine double

X1=X2 ="+X2);

}

if(delta<0)

{

System.out.println(" Première racine complexes

conjuguée: "+-b/(2*a)+ " +i" +Math.sqrt(-delta) /(2*a));

System.out.println(" Deuxième racine complexes

conjuguée: "+-b/(2*a)+ " -i" +Math.sqrt(-delta) /(2*a));

System.out.println("NOTEZ QUE i² = -1");

} } } }

CONVERSION D'HORLOGE JAVA

Ecrire un programme qui permet de convertir les secondes

en année mois jour heure seconde

Page 36: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 36

Solution dans la programmation java

j'utilise netbeans

package minsecond;

import java.util.Scanner;

/**

* @author jo

*/

public class Minsecond {

public static void main(String[] args) {

System.out.println("Entrer le nombre de secondes:\n");

Scanner nbr = new Scanner (System.in);

int temp = nbr.nextInt();

int annee = temp / 60 / 60 / 24 / 365;

int jour = temp / 60 / 60 / 24 % 365;

int heure = temp / 60 / 60 % 24;

int minute = temp / 60 % 60;

int seconde = temp % 60;

System.out.println("Le temps entré "+temp+ " est égale à \n"+annee+" an(s)\n"+jour+" jour\n"

+heure+" heure\n"+minute+" minutes\n"+ seconde+" secondes");

}

Page 37: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 37

}

RUN: Entrer le nombre de secondes:

123456789

Le temps entré 123456789 est égale à

3 an(s)

333 jour

21 heure

33 minutes

9 secondes

BUILD SUCCESSFUL (total time: 12 seconds)

COMPARAISON PAR MIN MAX

Un programme qui compare deux nombre

Solution dans la programmation java

Page 38: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 38

package minmax;

import java.util.Scanner;

/*

* @author jo

*/

public class Minmax {

public static void main(String[] args) {

Scanner val = new Scanner (System.in);

System.out.println("Entrez la première valeur à

comparer ");

int x = val.nextInt();

System.out.println("Entrez la deuxième valeur à

comparer ");

int y = val.nextInt();

System.out.println(" la plus grande valeur entre "+

x + " et " +y+ " est = " + Math.max(x, y));

System.out.println(" la plus petite valeur entre "+

x + " et " +y+ " est = " + Math.min(x,y));

}

}

run:

Entrez la première valeur à comparer 23 Entrez la deuxième valeur à comparer

90 la plus grande valeur entre 23 et 90 est = 90 la plus petite valeur entre 23 et 90 est = 23 BUILD SUCCESSFUL (total time: 6 seconds)

Page 39: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 39

Montant en lettre

package nombre;

import java.util.Scanner;

/**

*

* @author jo

*/

public class Nombre

{

/**

* Représentaion en lettre de 0

*/

public static final String ZERO="zéro";

/**

* Représentaion en lettre de 1

*/

public static final String UN="un";

/**

* Représentaion en lettre de 2

*/

public static final String DEUX="deux";

/**

* Représentaion en lettre de 3

*/

public static final String TROIS="trois";

/**

* Représentaion en lettre de 4

*/

public static final String QUATRE="quatre";

/**

* Représentaion en lettre de 5

*/

public static final String CINQ="cinq";

/**

Page 40: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 40

* Représentaion en lettre de 6

*/

public static final String SIX="six";

/**

* Représentaion en lettre de 7

*/

public static final String SEPT="sept";

/**

* Représentaion en lettre de 8

*/

public static final String HUIT="huit";

/**

* Représentaion en lettre de 9

*/

public static final String NEUF="neuf";

/**

* Représentaion en lettre de 10

*/

public static final String DIX="dix";

/**

* Représentaion en lettre de 11

*/

public static final String ONZE="onze";

/**

* Représentaion en lettre de 12

*/

public static final String DOUZE="douze";

/**

* Représentaion en lettre de 13

*/

public static final String TREIZE="treize";

/**

* Représentaion en lettre de 14

*/

public static final String QUATORZE="quatorze";

/**

* Représentaion en lettre de 15

*/

public static final String QUINZE="quinze";

/**

* Représentaion en lettre de 16

*/

public static final String SEIZE="seize";

Page 41: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 41

/**

* Représentaion en lettre de 20

*/

public static final String VINGT="vingt";

/**

* Représentaion en lettre de 30

*/

public static final String TRENTE="trente";

/**

* Représentaion en lettre de 40

*/

public static final String QUARANTE="quarante";

/**

* Représentaion en lettre de 50

*/

public static final String CINQUANTE="cinquante";

/**

* Représentaion en lettre de 60

*/

public static final String SOIXANTE="soixante";

/**

* Représentaion en lettre de 100

*/

public static final String CENT="cent";

/**

* Représentaion en lettre de 1000

*/

public static final String MILLE="mille";

/**

* Représentaion en lettre de 1000000

*/

public static final String MILLION="million";

/**

* Représentaion en lettre de 1000000000

*/

public static final String MILLIARD="milliard";

/**

* Représentaion en lettre de -

*/

public static final String MOINS="moins";

//Nom des différents types de paquet de nombre

Page 42: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 42

private static final String[] tab={"",MILLE,MILLION,MILLIARD,MILLE+"

"+MILLIARD,

MILLION+" de "+MILLIARD,MILLIARD+" de "+MILLIARD};

/**

* Renvoie la représentation en lettre d'un chiffre, c'est à dire d'un nombre ente

0 et 9

*/

public static String getChiffre(int l)

{

if((l<0)||(l>9))

throw new IllegalArgumentException("Un chiffre est entre 0 et 9, donc "+l+"

est interdit");

switch(l)

{

case 0 :

return ZERO;

case 1 :

return UN;

case 2 :

return DEUX;

case 3 :

return TROIS;

case 4 :

return QUATRE;

case 5 :

return CINQ;

case 6 :

return SIX;

case 7 :

return SEPT;

case 8 :

return HUIT;

case 9 :

return NEUF;

}

return null;

}

//Retourne la représentation en lettre d'un paquet. Un paquet est formé de tois

chiffres, comme 123, 012, 001, 100, 101,...

private static String paquet(int p)

{

//On initialise la réponse

String reponse="";

Page 43: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 43

//Si on a un chiffre des centaines

if(p>100)

{

//Si la valeur est >199 alors, on va mettre devant le chiffre des centaine

if(p/100>1)

reponse=getChiffre(p/100)+" ";

//C'est une centaine, donc on ajoute ensuite "cent"

reponse += CENT+" ";

//On récupére ce qui n'est pas la centaine

p=p%100;

}

//c chiffre des dizaines

//u chaiffre des unitées

int c=p/10;

int u=p%10;

switch(c)

{

//Si la dizaine est nule, alors le nombre est un chiffre

case 0 :

if(u!=0)

reponse += getChiffre(u);

break;

case 1 :

switch(u)

{

case 0 :

reponse += DIX;

break;

case 1 :

reponse += ONZE;

break;

case 2 :

reponse += DOUZE;

break;

case 3 :

reponse += TREIZE;

break;

case 4 :

reponse += QUATORZE;

break;

case 5 :

reponse += QUINZE;

break;

case 6 :

reponse += SEIZE;

Page 44: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 44

break;

default :

reponse += DIX+" "+getChiffre(u);

}

break;

case 2 :

reponse += VINGT;

if(u==1)

reponse += " et";

if(u>0)

reponse += " "+getChiffre(u);

break;

case 3 :

reponse += TRENTE;

if(u==1)

reponse += " et";

if(u>0)

reponse += " "+getChiffre(u);

break;

case 4 :

reponse += QUARANTE;

if(u==1)

reponse += " et";

if(u>0)

reponse += " "+getChiffre(u);

break;

case 5 :

reponse += CINQUANTE;

if(u==1)

reponse += " et";

if(u>0)

reponse += " "+getChiffre(u);

break;

case 6 :

reponse += SOIXANTE;

if(u==1)

reponse += " et";

if(u>0)

reponse += " "+getChiffre(u);

break;

case 7 :

reponse += SOIXANTE+" ";

if(u==1)

reponse += " et";

switch(u)

Page 45: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 45

{

case 0 :

reponse += DIX;

break;

case 1 :

reponse += ONZE;

break;

case 2 :

reponse += DOUZE;

break;

case 3 :

reponse += TREIZE;

break;

case 4 :

reponse += QUATORZE;

break;

case 5 :

reponse += QUINZE;

break;

case 6 :

reponse += SEIZE;

break;

default :

reponse += DIX+" "+getChiffre(u);

}

break;

case 8 :

reponse += QUATRE+" "+VINGT;

if(u>0)

reponse += " "+getChiffre(u);

break;

case 9 :

reponse += QUATRE+" "+VINGT+" ";

switch(u)

{

case 0 :

reponse += DIX;

break;

case 1 :

reponse += ONZE;

break;

case 2 :

reponse += DOUZE;

break;

case 3 :

Page 46: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 46

reponse += TREIZE;

break;

case 4 :

reponse += QUATORZE;

break;

case 5 :

reponse += QUINZE;

break;

case 6 :

reponse += SEIZE;

break;

default :

reponse += DIX+" "+getChiffre(u);

}

break;

}

//On renvoie la réponse, à laquelle on retire les éventuels espaces surperflus

return reponse.trim();

}

/**

* Renvoie le nombre en lettre, <BR>

* ex: 1234567890 devient : un milliard deux cent trente quatre million cinq

cent soixante sept mille huit cent quatre vingt dix

*/

public static String getLettre(long l)

{

//Cas zéro

if(l==0L)

return ZERO;

String signe="";

//Cas négatif

if(l<0L)

{

//On prned la valeur absolue

l=-l;

//On ajoutera moins devant

signe=MOINS+" ";

}

//Initilisation de la réponse

String reponse="";

//Rang du paquet actuel, on va parcourir le nombre de gauche à droite, le

premier paquet de 123456 sera donc : 456

int rang=0;

while(l>0L)

Page 47: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 47

{

//on ajoute le paquet devant la réponse

reponse=paquet((int)(l%1000L))+" "+tab[rang]+" "+reponse;

//on passe au paquet suivant

l=l/1000L;

rang++;

}

//on ajoute le signe éventuel

reponse=signe+reponse;

//On renvoie la réponse, à laquelle on retire les éventuels espaces surperflus

return reponse.trim();

}

public static void main(String args[])

{

Scanner val = new Scanner (System.in);

System.out.println("Entrez la première montant ");

int a= val.nextInt();

System.out.println("Entrez la deuxième montant ");

int b = val.nextInt();

int x = a+b;

System.out.println("\n ---------------------------------- ");

System.out.println("La somme des deux montant "+a+" (+) "+b+" = "+x+"

francs ");

System.out.println(" Soit : "+getLettre (x)+" francs ");

System.out.println("\n ---------------------------------- ");

Page 48: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 48

III - J2EE - Java 2 Enterprise Edition

Introduction au Java Framework

Le «Java Framework» (Java 2 Platform) est composé de

trois éditions, destinées à des usages différents :

J2ME : Java 2 Micro Edition est prévu pour le développement d'applications embarquées, notamment sur des assistants personnels et terminaux mobiles ;

J2SE : Java 2 Standard Edition est destiné au développement d'applications pour ordinateurs personnels ;

J2EE : Java 2 Enterprise Edition, destiné à un usage

Page 49: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 49

professionnel avec la mise en oeuvre de serveurs.

Chaque édition propose un environnement complet pour le

développement et l'exécution d'applications basées sur Java et

comprend notamment une machine virtuelle Java (Java virtual

machine) ainsi qu'un ensemble de classes.

Introduction à J2EE

J2EE (Java 2 Enterprise Edition) est une norme proposée par

la société Sun, portée par un consortium de sociétés

internationales, visant à définir un standard de développement

d'applications d'entreprises multi-niveaux, basées sur des

composants.

On parle généralement de «plate-forme J2EE» pour désigner

l'ensemble constitué des services (API) offerts et de

l'infrastructure d'exécution. J2EE comprend notamment :

Les spécifications du serveur d'application, c'est-à-dire de l'environnement d'exécution : J2EE définit finement les rôles et les interfaces pour les applications ainsi que l'environnement dans lequel elles seront exécutées. Ces recommandations permettent ainsi à des entreprises tierces de développer des serveurs d'application conformes aux spécifications ainsi définies, sans avoir à redévelopper les principaux services.

Des services, au travers d'API, c'est-à-dire des extensions Java indépendantes permettant d'offrir en standard un certain nombre de fonctionnalités. Sun fournit une implémentation minimale de ces API appelée J2EE SDK

Page 50: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 50

(J2EE Software Development Kit).

Dans la mesure où J2EE s'appuie entièrement sur le Java, il

bénéficie des avantages et inconvénients de ce langage, en

particulier une bonne portabilité et une maintenabilité du code.

De plus, l'architecture J2EE repose sur des composants

distincts, interchangeables et distribués, ce qui signifie

notamment :

qu'il est simple d'étendre l'architecture ;

qu'un système reposant sur J2EE peut posséder des mécanismes de haute-disponibilité, afin de garantir une bonne qualité de service ;

que la maintenabilité des applications est facilitée.

Les API de J2EE

Les API de J2EE peuvent se répartir en trois grandes

catégories :

Les composants. On distingue habituellement deux familles de composants :

o Les composants web : Servlets et JSP (Java Server Pages). Il s'agit de la partie chargée de l'interface avec l'utilisateur (on parle de logique de présentation).

o Les composants métier : EJB (Enterprise Java Beans). Il s'agit de composants spécifiques chargés des traitements des données propres à un secteur d'activité (on parle de logique métier ou de logique applicative) et de l'interfaçage avec les bases de données.

Les services, pouvant être classés par catégories : o Les services d'infrastructures : il en existe un grand

Page 51: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 51

nombre, définis ci-dessous : JDBC (Java DataBase Connectivity) est une API

d'accès aux bases de données relationnelles.

JNDI (Java Naming and Directory Interface) est une API d'accès aux services de nommage et aux annuaires d'entreprises tels que DNS, NIS, LDAP, etc.

JTA/JTS (Java Transaction API/Java Transaction Services) est un API définissant des interfaces standard avec un gestionnaire de transactions.

JCA (J2EE Connector Architecture) est une API de connexion au système d'information de l'entreprise, notamment aux systèmes dits «Legacy» tels que les ERP.

JMX (Java Management Extension) fournit des extensions permettant de développer des applications web de supervision d'applications.

o Les services de communication : JAAS (Java Authentication and Authorization

Service) est une API de gestion de l'authentification et des droits d'accès.

JavaMail est une API permettant l'envoi de courrier électronique.

JMS (Java Message Service) fournit des fonctionnalités de communication asynchrone (appelées MOM pour Middleware Object Message) entre applications.

RMI-IIOP est une API permettant la communication synchrone entre objets.

L'architecture J2EE permet ainsi de séparer la couche

présentation, correspondant à l'interface homme-machine

(IHM), la couche métier contenant l'essentiel des traitements

Page 52: BEBUTANT  JAVA

HOUNGBEME Joseph http://master1istri.blogspot.com/ 52

de données en se basant dans la mesure du possible sur des

API existantes, et enfin la couche de données correspondant

aux informations de l'entreprise stockées dans des fichiers,

dans des bases de données relationnelles ou XML, dans des

annuaires d'entreprise ou encore dans des systèmes

d'information complexes.

Les codes sources sont ci-joint Fin