SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
UNIVERSITE SULTAN MOULAY SLIMANE
FACULTE DES SCIENCES ET TECHNIQUES
BENI MELLAL
Rapport De Mini Projet
« APPLICATION JAVA-CALCULATRICE SCIENTIFIQUE»
Réalisé par :
BAHTAT Ayoub
AZIZI Abdellatif
Filière ingénieur :
Productique & Mécatronique
Encadré par : Mr.Dr.AYACHI
Sommaire :
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
2
Premier chapitre : Introduction
................................................................................................................................................................. 4
I. Présentation de projet :.................................................................................................................. 4
II. Paquetage javax.Swing :................................................................................................................. 4
III. Les interfaces graphiques :......................................................................................................... 5
IV. Les objectifs prévue de projet :................................................................................................. 5
Deuxième chapitre : Taches effectuées.......................................................................................... 7
Etape 1 : installation de java swing.............................................................................................. 7
b) On exécutant le programme ci-dessus qui permet de créer le cadre......................................... 8
Etape 2 : création des boutons...................................................................................................... 9
Mode standard : ........................................................................................................................... 10
Bouton 1 : .................................................................................................................................... 10
Bouton 2 : .................................................................................................................................... 10
Bouton 3: ..................................................................................................................................... 11
Bouton 6: ..................................................................................................................................... 11
Bouton + : ................................................................................................................................... 12
Bouton - : ..................................................................................................................................... 12
Bouton *:...................................................................................................................................... 13
Bouton /....................................................................................................................................... 13
Bouton CE (Clear ) ..................................................................................................................... 14
Bouton C (Clear all ) .................................................................................................................. 14
Mode scientifique :........................................................................................................................... 15
Bouton Log() :............................................................................................................................. 15
Bouton sin() :.............................................................................................................................. 15
Bouton cos () :............................................................................................................................. 16
Bouton tan() : ............................................................................................................................. 16
Bouton Inverse (1/x) : .............................................................................................................. 17
Exponentielle e() : .................................................................................................................... 17
Factoriel n ! :............................................................................................................................... 18
Puissance (𝒙𝒚) :.......................................................................................................................... 19
Tanh(x) :...................................................................................................................................... 19
Bouton Ans :................................................................................................................................ 19
bouton% :................................................................................................................................... 20
Bouton 𝒂𝒃𝒙 :................................................................................................................................ 20
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
3
Bouton Rad :................................................................................................................................ 21
Bouton Rad :................................................................................................................................ 21
Bouton égale = :.......................................................................................................................... 22
Difficulté rencontré au travail :........................................................................................................ 25
Conclusion ............................................................................................................................................. 26
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
4
Premier chapitre : Introduction
I. Présentation de projet :
Ce travail s’inscrit dans le cadre d’un mini projet de réalisation d’une
application java , à l’aide de l’éditeur éclipses for développer (ECLIPSE
IDE) ,dont le but est de créer une calculatrice scientifique similaire
aux calculatrice qu’existent qui permet d’effectuée plusieurs
opérations mathématiques on utilisant les interfaces graphique et
précisément le paquetage «Package javax. Swing ».
II. Paquetage javax.Swing :
package principal : il contient les interfaces, les principaux
composants, les modèles par défaut Swing fait partie de la
bibliothèque Java Foundation Classes (JFC). C'est une API dont le but
est similaire à celui de l'API AWT mais dont les modes de
fonctionnement et d'utilisation sont complètement différents. Swing
a été intégré au JDK depuis sa version 1.2. Cette bibliothèque existe
séparément. pour le JDK 1.1.
Swing propose de nombreux composants dont certains possèdent
des fonctions étendues, une utilisation des mécanismes de gestion
d'événements performants et une apparence modifiable à la volée
(une interface graphique qui emploie le style du système
d'exploitation Windows ou Motif ou un nouveau style spécifique à
Java nommé Metal).
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
5
Tous les composants Swing possèdent les caractéristiques suivantes :
 ce sont des beans.
 ce sont des composants légers (pas de partie native) hormis
quelques exceptions.
 leurs bords peuvent être changés
III. Les interfaces graphiques :
L'interface graphique, appelée communément la GUI (pour Graphical
User Interface), est le lien entre l'utilisateur et la machine.
En effet, même si certains programmes tournent sur l'ordinateur sans
aucune intervention de l'utilisateur, pour la majorité des scripts que
vous allez coder, vous allez devoir interagir avec l'utilisateur. Pour
cela, on utilise une interface graphique permettant de faire le lien
entre l'utilisateur et le programme, et comme vous allez le voir, les
GUIS offrent des possibilités quasiment illimitées, si ce n'est par votre
imagination.
IV. Les objectifs prévue de projet :
Le projet s’intéresse à créer une calculatrice scientifique qui a les
caractéristiques suivantes :
Effectue les opérations arithmétique .
 Elle prend en charge la gestion des erreurs de saisie.
 Donne la main de se basculer entre le mode standard ou
scientifique .
 Supprimer une valeur saisie .
 Donnez la possibilité de tous recommencez a zéro .
 Gérer l’exception de division de zéro.
 Afficheur qui présente le nombre introduit
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
6
o Les boutons de 0 a9
o Les boutons des opérations arithmétique
o Le bouton clear ©
o Bouton pour effacer un caractère
o Bouton pour effacer la dernier saisie
Concernant ce mode on ajout de plus au mode standard les
caractéristiques des fonctions suivantes :
o L’opérateur logarithmique
o Fonctions Triangulaires (sin(x) ,cos (x), tan(x))
o Inverse (1/x)
o Exponentielle e(x)
o Factoriel n !
o Puissance (𝑥 𝑦
)
o Tanh(x)
o Ans
o %
o ∑ 𝑥𝑏
𝑎
o Conversion degré vers le rad et le grade
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
7
Deuxième chapitre : Taches effectuées
Dans ce chapitre nous essayons de parler sur l’ensemble des étapes
suivis pour aboutir le résultats du projet , ainsi nous présenterons les
divers boutons utilisés avec détails .
Etape 1 : installation de java swing
Nous avons Installé java swing sur le logiciel éclipse , afin de pouvoir
manipuler le différents s boutons à savoir (J .bouton, Jtext ,Radio ..) , et
réalisé une interface java swing , dont la classe principale est JFrame
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
8
a) Création d’une classe appelée Calcule
b) On exécutant le programme ci-dessus qui permet de créer
le cadre
Classe principale
Objet de la Classe
JFrame
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
9
Etape 2 : création des boutons
Construire les différents boutons on faisant glisser (J texte , J boutons
etc…) sur l’interface graphique .
Chaque bottons porte --->>>>new botton par défaut on le renomme
selon le nom voulus, et pour y accéder à un bouton on fait un double
clic qui affichera une partie de programme a coder (pour faire
éventuellement des modifications ).
10
La position
suivant x
439
La position
suivant x
89
La hauteur
23
La largeur
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
10
Mode standard :
---->>>>A l’ intérieur de la méthode action performed () on cri les
instructions associe à chaque boutons (1….9,+ ,-,*,/,clear all C,clear
CE)
Bouton 1 :
Prenons l’exemple du bouton 1 :
b1. getText() renvoie la valeur ‘’1’’ on ajoutant +
textField.getText() la valeur déjà saisie en zone de texte comme
chaine de caractère , qui sera afficher par la suite à l’aide de
setText().
k réservé pour l’affichage de toutes les chaines de caractères.
Bouton 2 :
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
11
Pour le bouton 2 le processus est le même que pour le cas 1 on
faisant ca a tout le reste du bouton jusqu'à 9.
Bouton 3:
Bouton 6:
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
12
Bouton + :
 Lorsqu’on saisit un nombre et on clique sur + la méthode
getText() renvoie la valeur entrer et ça sera stocker dans une
variable premier nombre de type double ( pour ce faire un
casting est nécessaire dans ce cas ),textField() prend une
chaine de caractère ‘’ ‘’ espace à travers la méthode setText() .
Bouton - :
Le principe est le même que pour le bouton + sauf ici la
variable opération prend la chaine de caractère moins ‘’ –‘’,
est textFiled1() envoie toujours la chaines selon le bouton
manipuler .
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
13
Bouton *:
Opération prend le ‘’ * ‘’ est le principe reste valable pour celui citer
en + et - .
Bouton /
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
14
Bouton CE (Clear )
 La première condition if c’est pour Testez si la taille du Text
saisie est supérieure à 0 ,ensuite la méthode deleteChar ()
supprime le dernier caractère , à chaque fois on cliquant sur
le bouton CE
 La méthode toString retourne la chaine modifie stocker
dans une variable b , qui sera envoyer par setText()
 La deuxième condition if réserver pour l’affiche en suivant
les mêmes instructions que pour la saisie .
Bouton C (Clear all )
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
15
Tout simplement lorsqu’on on tape sur le bouton C , l’objet textField
remplace la chaine saisie par un espace ‘’ ‘’ .
Mode scientifique :
Dans ce mode on va essayer de présenter l’ensemble de reste des
boutons construisant notre calculatrice .
Bouton Log() :
 On appuyant sur le bouton log() , la variable opération
prendre un chaine caractère ‘’ log’’
 setBouns contrôle la position suivant( x, y , h et l)
 add(blog) ajoute le bouton au Frame
Bouton sin() :
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
16
 La variable opération = ‘’ sin()’’
 On tape le nombre voulu exemple( a =3)
 On fait = pour afficher le résultat , il vérifie la condition
opération = ‘’ sin()’’ , puis il l’exécute si oui
NB : le bouton = sera prester par la suite .
Bouton cos () :
Le bouton cos() est similaire à celui de sin() sauf que
opération=cos()
Bouton tan() :
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
17
Bouton Inverse (1/x) :
Remarque ici opération même si on saisit le premier nombre 0 il
l’accepte car il s’agit d’une chaine de caractère ‘’ 1/x’’ et non une
vraie valeur
Exponentielle e() :
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
18
Factoriel n ! :
Partie code pour le bouton n !
if (operation=="n!") {
int f=1;
for(int i=1;i<=premierNombre;i++) {
f=f*i;
res=f;
resu=String.format("%.10f",res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}}
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
19
Puissance (𝒙 𝒚
) :
Tanh(x) :
Bouton Ans :
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
20
bouton% :
Bouton ∑ 𝒙𝒃
𝒂 :
Initialisation de s
Comparaison de premier et dernier terme
Sommation jusqu'à la fin
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
21
Conversion degré vers le rad et le grade :
Bouton Rad :
Partie code
Bouton Grade :
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
22
partie code :
Bouton égale = :
JButton bEgal = new JButton("=");
bEgal.setBackground(new Color(255, 255, 255));
bEgal.setFont(new Font("Tahoma", Font.BOLD, 11));
bEgal.setBounds(202, 174, 72, 23);
bEgal.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String a=textField.getText();
deuxiemeNombre=Double.parseDouble(textField.getText());
k=textField_1.getText()+"=";
textField_1.setText(k);
if(operation=="+") {
res=premierNombre+deuxiemeNombre;
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="-"){
res=premierNombre-deuxiemeNombre;
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="*" ){
res=premierNombre*deuxiemeNombre;
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}
else if(operation=="/") {
if(deuxiemeNombre==0) {
textField.setText("Ereur de division par zero");
}
else {
res=premierNombre/deuxiemeNombre;
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);}
}else if (operation=="√"){
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
23
res=Math.sqrt(deuxiemeNombre);
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);}
else if(operation=="cos"){
res=Math.cos(deuxiemeNombre);
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="sin") {
res=Math.sin(deuxiemeNombre);
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="log") {
res=Math.log(deuxiemeNombre);
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="exp"){
res=Math.exp(deuxiemeNombre);
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="x^y") {
res=Math.pow(premierNombre, deuxiemeNombre);
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="tan(⁡x)") {
res=Math.tan(deuxiemeNombre);
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if (operation=="n!") {
int f=1;
for(int i=1;i<=premierNombre;i++) {
f=f*i;
res=f;
resu=String.format("%.10f",res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}}
else if (operation=="tanh(⁡x)") {
res=Math.tanh(deuxiemeNombre);
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}
else if(operation==".") {
String re=b+"."+a ;
textField.setText(re);
ans=textField.getText();
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
24
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="1/x") {
res=1/premierNombre;
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="%") {
res=premierNombre/100;
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="s") {
double S=0;
while (premierNombre<=deuxiemeNombre) {
S=S+premierNombre;
premierNombre++;
}
resu=String.format("%.10f", S);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}
else if (operation=="rad") {
rad=(deuxiemeNombre*Math.PI)/180;
resu=String.format("%.10f",rad);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if (operation=="grd") {
double grad=(deuxiemeNombre*400)/360;
resu=String.format("%.10f",grad);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}
} });
frame.getContentPane().add(bEgal);
le bouton égale regroupe toutes les opérations et boutons citer
ci-dessus , il permet à chaque fois on tapant sur un bouton , de
stocker la deuxième valeur dans une variable deuxième nombre
et ensuite on teste la valeur de l’opération pour qu’elle l’exécute
exactement si la condition est vérifie .
exp : on veut exécuter l’opération 3+4 = 7
3 sera stocker dans le premier nombre , ensuite la condition
vérifie que l’opertaion = ‘’+’’, le 4 ne sera pas stocker qu’après
clique sur = , et le résultat va apparaître sur l’écran d’affichage 7
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
25
Difficulté rencontré au travail :
Lors de l’affichage sur l’écran on voulus afficher le résultat saisie dans
la première ligne en même temps avoir la possibilité de voir le
résultats on a essayé de la réalise mais on a pas pu la faire , donc on a
pensé a la résoudre avec deux afficheur une réservé pour la saisie et
l’autres pour le résultats
Voici
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
26
Conclusion
Ce travail a été réalisé dans le cadre de mini projet en java , qui est
porté sur la réalisation d’une calculatrice scientifique qu’exécutera
les différents opérations. En effet sur le cote théorique on a acquis
les notions sur la java swing et les interfaces graphiques en générale .
Nous avons eu l’opportunité de mettre en œuvre le processus unifie ,
ainsi que avons pu manipuler les différents notions vue en cours .
Finalement comme tous projet le nôtre présente quelques
insuffisance que nous pouvons les combler et des imperfections
auxquels on peut remédie mais nous estimons à avoir répondu à la
majorité des exigences ce qui nous mène a certains constations
concernant le temps nécessaire a la réalisation d(un tel projet ,
d’autre part ce travail nous a appris la prise de conscience de nos
prochaine obligations outre l’apport technique que nous avons
récolté , et malgré les obstacles que nous avons rencontré nous
avons appris à accepter les compromis et à relativiser les problèmes

Contenu connexe

Tendances

Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Riadh K.
 
Manuel des TP : Atelier Web 2
Manuel des TP : Atelier Web 2Manuel des TP : Atelier Web 2
Manuel des TP : Atelier Web 2Faycel Chaoua
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatiqueHicham Ben
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementNassim Bahri
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chatTbatou sanae
 
Mémoire PEF application client server gestion des projet collaborative
Mémoire PEF application client server gestion des projet collaborativeMémoire PEF application client server gestion des projet collaborative
Mémoire PEF application client server gestion des projet collaborativeMessaoud Hatri
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileRim ENNOUR
 
Conception et mise en place d'un site web dynamique de gestion de passation ...
Conception et mise en place d'un site web  dynamique de gestion de passation ...Conception et mise en place d'un site web  dynamique de gestion de passation ...
Conception et mise en place d'un site web dynamique de gestion de passation ...Symphorien Niyonzima
 
Application web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemApplication web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemSarra ERRREGUI
 
Rapport de mini projet de programation web
Rapport de mini projet de programation webRapport de mini projet de programation web
Rapport de mini projet de programation webMOHAMMED MOURADI
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoinsIsmahen Traya
 
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webRapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webSalma Gouia
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachAyoub Mkharbach
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaNazih Heni
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyENSET, Université Hassan II Casablanca
 
Conception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRConception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRSkander Driss
 

Tendances (20)

Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Manuel des TP : Atelier Web 2
Manuel des TP : Atelier Web 2Manuel des TP : Atelier Web 2
Manuel des TP : Atelier Web 2
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatique
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignement
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chat
 
Développement d'un site web de E-Commerce avec PHP (Première Partie)
Développement d'un site web de E-Commerce avec PHP (Première Partie)Développement d'un site web de E-Commerce avec PHP (Première Partie)
Développement d'un site web de E-Commerce avec PHP (Première Partie)
 
Mémoire PEF application client server gestion des projet collaborative
Mémoire PEF application client server gestion des projet collaborativeMémoire PEF application client server gestion des projet collaborative
Mémoire PEF application client server gestion des projet collaborative
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
 
PROJET JAVA BD MySQL
PROJET JAVA BD MySQLPROJET JAVA BD MySQL
PROJET JAVA BD MySQL
 
Rapport de stage du fin d'étude
Rapport de stage du fin d'étudeRapport de stage du fin d'étude
Rapport de stage du fin d'étude
 
Conception et mise en place d'un site web dynamique de gestion de passation ...
Conception et mise en place d'un site web  dynamique de gestion de passation ...Conception et mise en place d'un site web  dynamique de gestion de passation ...
Conception et mise en place d'un site web dynamique de gestion de passation ...
 
Application web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemApplication web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment system
 
Tp5 - WINDEV
Tp5 - WINDEVTp5 - WINDEV
Tp5 - WINDEV
 
Rapport de mini projet de programation web
Rapport de mini projet de programation webRapport de mini projet de programation web
Rapport de mini projet de programation web
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoins
 
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webRapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbach
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédia
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategy
 
Conception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRConception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIR
 

Similaire à Rapport de mini projet java

Scilab/Xcos pour l'enseignement des sciences de l'ingénieur
Scilab/Xcos pour l'enseignement des sciences de l'ingénieurScilab/Xcos pour l'enseignement des sciences de l'ingénieur
Scilab/Xcos pour l'enseignement des sciences de l'ingénieurScilab
 
Scilab/Xcos pour l'enseignement des sciences de l'ingénieur
Scilab/Xcos pour l'enseignement des sciences de l'ingénieurScilab/Xcos pour l'enseignement des sciences de l'ingénieur
Scilab/Xcos pour l'enseignement des sciences de l'ingénieurScilab
 
Rapport genie logiciel
Rapport genie logicielRapport genie logiciel
Rapport genie logicielserge sonfack
 
« LabVIEW : programmation et applications » ou comment apprendre à utiliser L...
« LabVIEW : programmation et applications » ou comment apprendre à utiliser L...« LabVIEW : programmation et applications » ou comment apprendre à utiliser L...
« LabVIEW : programmation et applications » ou comment apprendre à utiliser L...Luc Desruelle
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logicielguest0032c8
 
POO en C++
POO en C++POO en C++
POO en C++elharraj
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Faycel Chaoua
 
01_Introduction_a_JEE.pdf
01_Introduction_a_JEE.pdf01_Introduction_a_JEE.pdf
01_Introduction_a_JEE.pdfJunior724645
 
Mobiliteatime #2 - WatchKit, le framework de développement pour l’Apple Watch
Mobiliteatime #2 - WatchKit, le framework de développement pour l’Apple WatchMobiliteatime #2 - WatchKit, le framework de développement pour l’Apple Watch
Mobiliteatime #2 - WatchKit, le framework de développement pour l’Apple WatchUSERADGENTS
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreStéphane Traumat
 
Titanium studio et les modules
Titanium studio et les modulesTitanium studio et les modules
Titanium studio et les modulesGautier Pialat
 
Tp python dauphine
Tp python dauphineTp python dauphine
Tp python dauphinenoussa krid
 

Similaire à Rapport de mini projet java (20)

Scilab/Xcos pour l'enseignement des sciences de l'ingénieur
Scilab/Xcos pour l'enseignement des sciences de l'ingénieurScilab/Xcos pour l'enseignement des sciences de l'ingénieur
Scilab/Xcos pour l'enseignement des sciences de l'ingénieur
 
Scilab/Xcos pour l'enseignement des sciences de l'ingénieur
Scilab/Xcos pour l'enseignement des sciences de l'ingénieurScilab/Xcos pour l'enseignement des sciences de l'ingénieur
Scilab/Xcos pour l'enseignement des sciences de l'ingénieur
 
Rapport PFE2021.pdf
Rapport PFE2021.pdfRapport PFE2021.pdf
Rapport PFE2021.pdf
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Rapport genie logiciel
Rapport genie logicielRapport genie logiciel
Rapport genie logiciel
 
« LabVIEW : programmation et applications » ou comment apprendre à utiliser L...
« LabVIEW : programmation et applications » ou comment apprendre à utiliser L...« LabVIEW : programmation et applications » ou comment apprendre à utiliser L...
« LabVIEW : programmation et applications » ou comment apprendre à utiliser L...
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logiciel
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Arduino
ArduinoArduino
Arduino
 
Intro ihm
Intro ihmIntro ihm
Intro ihm
 
POO en C++
POO en C++POO en C++
POO en C++
 
Smb20 sur 20
Smb20 sur 20Smb20 sur 20
Smb20 sur 20
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2
 
Spring ioc
Spring iocSpring ioc
Spring ioc
 
01_Introduction_a_JEE.pdf
01_Introduction_a_JEE.pdf01_Introduction_a_JEE.pdf
01_Introduction_a_JEE.pdf
 
Mobiliteatime #2 - WatchKit, le framework de développement pour l’Apple Watch
Mobiliteatime #2 - WatchKit, le framework de développement pour l’Apple WatchMobiliteatime #2 - WatchKit, le framework de développement pour l’Apple Watch
Mobiliteatime #2 - WatchKit, le framework de développement pour l’Apple Watch
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
 
Titanium studio et les modules
Titanium studio et les modulesTitanium studio et les modules
Titanium studio et les modules
 
Tp python dauphine
Tp python dauphineTp python dauphine
Tp python dauphine
 
Tp python
Tp pythonTp python
Tp python
 

Dernier

GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 

Dernier (15)

GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 

Rapport de mini projet java

  • 1. UNIVERSITE SULTAN MOULAY SLIMANE FACULTE DES SCIENCES ET TECHNIQUES BENI MELLAL Rapport De Mini Projet « APPLICATION JAVA-CALCULATRICE SCIENTIFIQUE» Réalisé par : BAHTAT Ayoub AZIZI Abdellatif Filière ingénieur : Productique & Mécatronique Encadré par : Mr.Dr.AYACHI Sommaire :
  • 2. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 2 Premier chapitre : Introduction ................................................................................................................................................................. 4 I. Présentation de projet :.................................................................................................................. 4 II. Paquetage javax.Swing :................................................................................................................. 4 III. Les interfaces graphiques :......................................................................................................... 5 IV. Les objectifs prévue de projet :................................................................................................. 5 Deuxième chapitre : Taches effectuées.......................................................................................... 7 Etape 1 : installation de java swing.............................................................................................. 7 b) On exécutant le programme ci-dessus qui permet de créer le cadre......................................... 8 Etape 2 : création des boutons...................................................................................................... 9 Mode standard : ........................................................................................................................... 10 Bouton 1 : .................................................................................................................................... 10 Bouton 2 : .................................................................................................................................... 10 Bouton 3: ..................................................................................................................................... 11 Bouton 6: ..................................................................................................................................... 11 Bouton + : ................................................................................................................................... 12 Bouton - : ..................................................................................................................................... 12 Bouton *:...................................................................................................................................... 13 Bouton /....................................................................................................................................... 13 Bouton CE (Clear ) ..................................................................................................................... 14 Bouton C (Clear all ) .................................................................................................................. 14 Mode scientifique :........................................................................................................................... 15 Bouton Log() :............................................................................................................................. 15 Bouton sin() :.............................................................................................................................. 15 Bouton cos () :............................................................................................................................. 16 Bouton tan() : ............................................................................................................................. 16 Bouton Inverse (1/x) : .............................................................................................................. 17 Exponentielle e() : .................................................................................................................... 17 Factoriel n ! :............................................................................................................................... 18 Puissance (𝒙𝒚) :.......................................................................................................................... 19 Tanh(x) :...................................................................................................................................... 19 Bouton Ans :................................................................................................................................ 19 bouton% :................................................................................................................................... 20 Bouton 𝒂𝒃𝒙 :................................................................................................................................ 20
  • 3. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 3 Bouton Rad :................................................................................................................................ 21 Bouton Rad :................................................................................................................................ 21 Bouton égale = :.......................................................................................................................... 22 Difficulté rencontré au travail :........................................................................................................ 25 Conclusion ............................................................................................................................................. 26
  • 4. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 4 Premier chapitre : Introduction I. Présentation de projet : Ce travail s’inscrit dans le cadre d’un mini projet de réalisation d’une application java , à l’aide de l’éditeur éclipses for développer (ECLIPSE IDE) ,dont le but est de créer une calculatrice scientifique similaire aux calculatrice qu’existent qui permet d’effectuée plusieurs opérations mathématiques on utilisant les interfaces graphique et précisément le paquetage «Package javax. Swing ». II. Paquetage javax.Swing : package principal : il contient les interfaces, les principaux composants, les modèles par défaut Swing fait partie de la bibliothèque Java Foundation Classes (JFC). C'est une API dont le but est similaire à celui de l'API AWT mais dont les modes de fonctionnement et d'utilisation sont complètement différents. Swing a été intégré au JDK depuis sa version 1.2. Cette bibliothèque existe séparément. pour le JDK 1.1. Swing propose de nombreux composants dont certains possèdent des fonctions étendues, une utilisation des mécanismes de gestion d'événements performants et une apparence modifiable à la volée (une interface graphique qui emploie le style du système d'exploitation Windows ou Motif ou un nouveau style spécifique à Java nommé Metal).
  • 5. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 5 Tous les composants Swing possèdent les caractéristiques suivantes :  ce sont des beans.  ce sont des composants légers (pas de partie native) hormis quelques exceptions.  leurs bords peuvent être changés III. Les interfaces graphiques : L'interface graphique, appelée communément la GUI (pour Graphical User Interface), est le lien entre l'utilisateur et la machine. En effet, même si certains programmes tournent sur l'ordinateur sans aucune intervention de l'utilisateur, pour la majorité des scripts que vous allez coder, vous allez devoir interagir avec l'utilisateur. Pour cela, on utilise une interface graphique permettant de faire le lien entre l'utilisateur et le programme, et comme vous allez le voir, les GUIS offrent des possibilités quasiment illimitées, si ce n'est par votre imagination. IV. Les objectifs prévue de projet : Le projet s’intéresse à créer une calculatrice scientifique qui a les caractéristiques suivantes : Effectue les opérations arithmétique .  Elle prend en charge la gestion des erreurs de saisie.  Donne la main de se basculer entre le mode standard ou scientifique .  Supprimer une valeur saisie .  Donnez la possibilité de tous recommencez a zéro .  Gérer l’exception de division de zéro.  Afficheur qui présente le nombre introduit
  • 6. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 6 o Les boutons de 0 a9 o Les boutons des opérations arithmétique o Le bouton clear © o Bouton pour effacer un caractère o Bouton pour effacer la dernier saisie Concernant ce mode on ajout de plus au mode standard les caractéristiques des fonctions suivantes : o L’opérateur logarithmique o Fonctions Triangulaires (sin(x) ,cos (x), tan(x)) o Inverse (1/x) o Exponentielle e(x) o Factoriel n ! o Puissance (𝑥 𝑦 ) o Tanh(x) o Ans o % o ∑ 𝑥𝑏 𝑎 o Conversion degré vers le rad et le grade
  • 7. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 7 Deuxième chapitre : Taches effectuées Dans ce chapitre nous essayons de parler sur l’ensemble des étapes suivis pour aboutir le résultats du projet , ainsi nous présenterons les divers boutons utilisés avec détails . Etape 1 : installation de java swing Nous avons Installé java swing sur le logiciel éclipse , afin de pouvoir manipuler le différents s boutons à savoir (J .bouton, Jtext ,Radio ..) , et réalisé une interface java swing , dont la classe principale est JFrame
  • 8. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 8 a) Création d’une classe appelée Calcule b) On exécutant le programme ci-dessus qui permet de créer le cadre Classe principale Objet de la Classe JFrame
  • 9. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 9 Etape 2 : création des boutons Construire les différents boutons on faisant glisser (J texte , J boutons etc…) sur l’interface graphique . Chaque bottons porte --->>>>new botton par défaut on le renomme selon le nom voulus, et pour y accéder à un bouton on fait un double clic qui affichera une partie de programme a coder (pour faire éventuellement des modifications ). 10 La position suivant x 439 La position suivant x 89 La hauteur 23 La largeur
  • 10. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 10 Mode standard : ---->>>>A l’ intérieur de la méthode action performed () on cri les instructions associe à chaque boutons (1….9,+ ,-,*,/,clear all C,clear CE) Bouton 1 : Prenons l’exemple du bouton 1 : b1. getText() renvoie la valeur ‘’1’’ on ajoutant + textField.getText() la valeur déjà saisie en zone de texte comme chaine de caractère , qui sera afficher par la suite à l’aide de setText(). k réservé pour l’affichage de toutes les chaines de caractères. Bouton 2 :
  • 11. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 11 Pour le bouton 2 le processus est le même que pour le cas 1 on faisant ca a tout le reste du bouton jusqu'à 9. Bouton 3: Bouton 6:
  • 12. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 12 Bouton + :  Lorsqu’on saisit un nombre et on clique sur + la méthode getText() renvoie la valeur entrer et ça sera stocker dans une variable premier nombre de type double ( pour ce faire un casting est nécessaire dans ce cas ),textField() prend une chaine de caractère ‘’ ‘’ espace à travers la méthode setText() . Bouton - : Le principe est le même que pour le bouton + sauf ici la variable opération prend la chaine de caractère moins ‘’ –‘’, est textFiled1() envoie toujours la chaines selon le bouton manipuler .
  • 13. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 13 Bouton *: Opération prend le ‘’ * ‘’ est le principe reste valable pour celui citer en + et - . Bouton /
  • 14. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 14 Bouton CE (Clear )  La première condition if c’est pour Testez si la taille du Text saisie est supérieure à 0 ,ensuite la méthode deleteChar () supprime le dernier caractère , à chaque fois on cliquant sur le bouton CE  La méthode toString retourne la chaine modifie stocker dans une variable b , qui sera envoyer par setText()  La deuxième condition if réserver pour l’affiche en suivant les mêmes instructions que pour la saisie . Bouton C (Clear all )
  • 15. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 15 Tout simplement lorsqu’on on tape sur le bouton C , l’objet textField remplace la chaine saisie par un espace ‘’ ‘’ . Mode scientifique : Dans ce mode on va essayer de présenter l’ensemble de reste des boutons construisant notre calculatrice . Bouton Log() :  On appuyant sur le bouton log() , la variable opération prendre un chaine caractère ‘’ log’’  setBouns contrôle la position suivant( x, y , h et l)  add(blog) ajoute le bouton au Frame Bouton sin() :
  • 16. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 16  La variable opération = ‘’ sin()’’  On tape le nombre voulu exemple( a =3)  On fait = pour afficher le résultat , il vérifie la condition opération = ‘’ sin()’’ , puis il l’exécute si oui NB : le bouton = sera prester par la suite . Bouton cos () : Le bouton cos() est similaire à celui de sin() sauf que opération=cos() Bouton tan() :
  • 17. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 17 Bouton Inverse (1/x) : Remarque ici opération même si on saisit le premier nombre 0 il l’accepte car il s’agit d’une chaine de caractère ‘’ 1/x’’ et non une vraie valeur Exponentielle e() :
  • 18. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 18 Factoriel n ! : Partie code pour le bouton n ! if (operation=="n!") { int f=1; for(int i=1;i<=premierNombre;i++) { f=f*i; res=f; resu=String.format("%.10f",res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }}
  • 19. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 19 Puissance (𝒙 𝒚 ) : Tanh(x) : Bouton Ans :
  • 20. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 20 bouton% : Bouton ∑ 𝒙𝒃 𝒂 : Initialisation de s Comparaison de premier et dernier terme Sommation jusqu'à la fin
  • 21. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 21 Conversion degré vers le rad et le grade : Bouton Rad : Partie code Bouton Grade :
  • 22. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 22 partie code : Bouton égale = : JButton bEgal = new JButton("="); bEgal.setBackground(new Color(255, 255, 255)); bEgal.setFont(new Font("Tahoma", Font.BOLD, 11)); bEgal.setBounds(202, 174, 72, 23); bEgal.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String a=textField.getText(); deuxiemeNombre=Double.parseDouble(textField.getText()); k=textField_1.getText()+"="; textField_1.setText(k); if(operation=="+") { res=premierNombre+deuxiemeNombre; resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="-"){ res=premierNombre-deuxiemeNombre; resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="*" ){ res=premierNombre*deuxiemeNombre; resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); } else if(operation=="/") { if(deuxiemeNombre==0) { textField.setText("Ereur de division par zero"); } else { res=premierNombre/deuxiemeNombre; resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k);} }else if (operation=="√"){
  • 23. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 23 res=Math.sqrt(deuxiemeNombre); resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k);} else if(operation=="cos"){ res=Math.cos(deuxiemeNombre); resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="sin") { res=Math.sin(deuxiemeNombre); resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="log") { res=Math.log(deuxiemeNombre); resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="exp"){ res=Math.exp(deuxiemeNombre); resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="x^y") { res=Math.pow(premierNombre, deuxiemeNombre); resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="tan(⁡x)") { res=Math.tan(deuxiemeNombre); resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if (operation=="n!") { int f=1; for(int i=1;i<=premierNombre;i++) { f=f*i; res=f; resu=String.format("%.10f",res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }} else if (operation=="tanh(⁡x)") { res=Math.tanh(deuxiemeNombre); resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); } else if(operation==".") { String re=b+"."+a ; textField.setText(re); ans=textField.getText();
  • 24. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 24 k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="1/x") { res=1/premierNombre; resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="%") { res=premierNombre/100; resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="s") { double S=0; while (premierNombre<=deuxiemeNombre) { S=S+premierNombre; premierNombre++; } resu=String.format("%.10f", S); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); } else if (operation=="rad") { rad=(deuxiemeNombre*Math.PI)/180; resu=String.format("%.10f",rad); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if (operation=="grd") { double grad=(deuxiemeNombre*400)/360; resu=String.format("%.10f",grad); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); } } }); frame.getContentPane().add(bEgal); le bouton égale regroupe toutes les opérations et boutons citer ci-dessus , il permet à chaque fois on tapant sur un bouton , de stocker la deuxième valeur dans une variable deuxième nombre et ensuite on teste la valeur de l’opération pour qu’elle l’exécute exactement si la condition est vérifie . exp : on veut exécuter l’opération 3+4 = 7 3 sera stocker dans le premier nombre , ensuite la condition vérifie que l’opertaion = ‘’+’’, le 4 ne sera pas stocker qu’après clique sur = , et le résultat va apparaître sur l’écran d’affichage 7
  • 25. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 25 Difficulté rencontré au travail : Lors de l’affichage sur l’écran on voulus afficher le résultat saisie dans la première ligne en même temps avoir la possibilité de voir le résultats on a essayé de la réalise mais on a pas pu la faire , donc on a pensé a la résoudre avec deux afficheur une réservé pour la saisie et l’autres pour le résultats Voici
  • 26. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 26 Conclusion Ce travail a été réalisé dans le cadre de mini projet en java , qui est porté sur la réalisation d’une calculatrice scientifique qu’exécutera les différents opérations. En effet sur le cote théorique on a acquis les notions sur la java swing et les interfaces graphiques en générale . Nous avons eu l’opportunité de mettre en œuvre le processus unifie , ainsi que avons pu manipuler les différents notions vue en cours . Finalement comme tous projet le nôtre présente quelques insuffisance que nous pouvons les combler et des imperfections auxquels on peut remédie mais nous estimons à avoir répondu à la majorité des exigences ce qui nous mène a certains constations concernant le temps nécessaire a la réalisation d(un tel projet , d’autre part ce travail nous a appris la prise de conscience de nos prochaine obligations outre l’apport technique que nous avons récolté , et malgré les obstacles que nous avons rencontré nous avons appris à accepter les compromis et à relativiser les problèmes