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
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=="√"){
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