Cherche le code de calculatrice en java
mimo2222
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
walidovich_85 Messages postés 608 Date d'inscription Statut Membre Dernière intervention -
walidovich_85 Messages postés 608 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
est ce que quelqu un pourrait m'aider pour trouver un code en java de calculatrice qui calcul aussi le cos sin et tang je suis debutante jai reussi a faire linterface mais impossible pour moi d'ecrire le code pour les calcul je narrive pas a le faire :s
est ce que quelqu un pourrait m'aider pour trouver un code en java de calculatrice qui calcul aussi le cos sin et tang je suis debutante jai reussi a faire linterface mais impossible pour moi d'ecrire le code pour les calcul je narrive pas a le faire :s
A voir également:
- Calculatrice java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
2 réponses
Bonsoir,
Cette solution est issue du siteduzero, qui est un TP.
La classe Main:
La classe Calculatrice:
On peut encore ajouter les boutons pour sinus et cosinus, mais je te laisse le temps de comprendre le code et de faire le premier essaie.
Bonne chance
Cette solution est issue du siteduzero, qui est un TP.
La classe Main:
public class Main { /** * @param args */ public static void main(String[] args) { Calculatrice calculette = new Calculatrice(); } }
La classe Calculatrice:
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class Calculatrice extends JFrame { private JPanel container = new JPanel(); String[] tab_string = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "0", ".", "=", "C", "+", "-", "*", "/"}; JButton[] tab_button = new JButton[tab_string.length]; private JLabel ecran = new JLabel(); private Dimension dim = new Dimension(50, 40); private Dimension dim2 = new Dimension(50, 31); private double chiffre1; private boolean clicOperateur = false, update = false; private String operateur = ""; public Calculatrice(){ this.setSize(240, 260); this.setTitle("Calculette"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setLocationRelativeTo(null); this.setResizable(false); initComposant(); this.setContentPane(container); this.setVisible(true); } private void initComposant(){ Font police = new Font("Arial", Font.BOLD, 20); ecran = new JLabel("0"); ecran.setFont(police); ecran.setHorizontalAlignment(JLabel.RIGHT); ecran.setPreferredSize(new Dimension(220, 20)); JPanel operateur = new JPanel(); operateur.setPreferredSize(new Dimension(55, 225)); JPanel chiffre = new JPanel(); chiffre.setPreferredSize(new Dimension(165, 225)); JPanel panEcran = new JPanel(); panEcran.setPreferredSize(new Dimension(220, 30)); for(int i = 0; i < tab_string.length; i++) { tab_button[i] = new JButton(tab_string[i]); tab_button[i].setPreferredSize(dim); switch(i){ case 11 : tab_button[i].addActionListener(new EgalListener()); chiffre.add(tab_button[i]); break; case 12 : tab_button[i].setForeground(Color.red); tab_button[i].addActionListener(new ResetListener()); tab_button[i].setPreferredSize(dim2); operateur.add(tab_button[i]); break; case 13 : tab_button[i].addActionListener(new PlusListener()); tab_button[i].setPreferredSize(dim2); operateur.add(tab_button[i]); break; case 14 : tab_button[i].addActionListener(new MoinsListener()); tab_button[i].setPreferredSize(dim2); operateur.add(tab_button[i]); break; case 15 : tab_button[i].addActionListener(new MultiListener()); tab_button[i].setPreferredSize(dim2); operateur.add(tab_button[i]); break; case 16 : tab_button[i].addActionListener(new DivListener()); tab_button[i].setPreferredSize(dim2); operateur.add(tab_button[i]); break; default : chiffre.add(tab_button[i]); tab_button[i].addActionListener(new ChiffreListener()); break; } } panEcran.add(ecran); panEcran.setBorder(BorderFactory.createLineBorder(Color.black)); container.add(panEcran, BorderLayout.NORTH); container.add(chiffre, BorderLayout.CENTER); container.add(operateur, BorderLayout.EAST); } private void calcul(){ if(operateur.equals("+")) { chiffre1 = chiffre1 + Double.valueOf(ecran.getText()).doubleValue(); ecran.setText(String.valueOf(chiffre1)); } if(operateur.equals("-")) { chiffre1 = chiffre1 - Double.valueOf(ecran.getText()).doubleValue(); ecran.setText(String.valueOf(chiffre1)); } if(operateur.equals("*")) { chiffre1 = chiffre1 * Double.valueOf(ecran.getText()).doubleValue(); ecran.setText(String.valueOf(chiffre1)); } if(operateur.equals("/")) { try{ chiffre1 = chiffre1 / Double.valueOf(ecran.getText()).doubleValue(); ecran.setText(String.valueOf(chiffre1)); }catch(ArithmeticException e){ ecran.setText("0"); } } } class ChiffreListener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { //On affiche le chiffre en plus dans le label String str = ((JButton)e.getSource()).getText(); if(update) { update = false; } else { if(!ecran.getText().equals("0")) str = ecran.getText() + str; } ecran.setText(str); } } class EgalListener implements ActionListener{ @Override public void actionPerformed(ActionEvent arg0) { calcul(); update = true; clicOperateur = false; } } class PlusListener implements ActionListener{ @Override public void actionPerformed(ActionEvent arg0) { if(clicOperateur) { calcul(); ecran.setText(String.valueOf(chiffre1)); } else { chiffre1 = Double.valueOf(ecran.getText()).doubleValue(); clicOperateur = true; } operateur = "+"; update = true; } } class MoinsListener implements ActionListener{ @Override public void actionPerformed(ActionEvent arg0) { if(clicOperateur) { calcul(); ecran.setText(String.valueOf(chiffre1)); } else { chiffre1 = Double.valueOf(ecran.getText()).doubleValue(); clicOperateur = true; } operateur = "-"; update = true; } } class MultiListener implements ActionListener{ @Override public void actionPerformed(ActionEvent arg0) { if(clicOperateur) { calcul(); ecran.setText(String.valueOf(chiffre1)); } else { chiffre1 = Double.valueOf(ecran.getText()).doubleValue(); clicOperateur = true; } operateur = "*"; update = true; } } class DivListener implements ActionListener{ @Override public void actionPerformed(ActionEvent arg0) { if(clicOperateur) { calcul(); ecran.setText(String.valueOf(chiffre1)); } else { chiffre1 = Double.valueOf(ecran.getText()).doubleValue(); clicOperateur = true; } operateur = "/"; update = true; } } class ResetListener implements ActionListener{ @Override public void actionPerformed(ActionEvent arg0) { clicOperateur = false; update = true; chiffre1 = 0; operateur = ""; ecran.setText(""); } } }
On peut encore ajouter les boutons pour sinus et cosinus, mais je te laisse le temps de comprendre le code et de faire le premier essaie.
Bonne chance