Calculatrice de pgcd (plus grand commun diviseur)

Soyez le premier à donner votre avis sur cette source.

Vue 23 513 fois - Téléchargée 678 fois

Description

Un petit programme avec fenêtre graphique qui permet de calculer le pgcd(le plus grand commun diviseur) de deux entiers

Source / Exemple :


/*

  • Created on 14 avr. 2006
*
  • TODO To change the template for this generated file go to
  • Window - Preferences - Java - Code Style - Code Templates
  • /
import javax.swing.JFrame; import javax.swing.JButton; import javax.swing.JTextField; import javax.swing.JLabel; import javax.swing.JOptionPane; public class calc extends JFrame { private javax.swing.JPanel jContentPane = null; private JButton jBoutonpgcd = null; private JTextField jTextPremierNombre = null; private JTextField jTextDeuxiemeNombre = null; private JLabel jLabelResultat = null; private JOptionPane jOptionPane = null; // @jve:decl-index=0:visual-constraint="36,220" /**
  • This is the default constructor
  • /
public calc() { super(); initialize(); } /**
  • This method initializes this
  • @return void
  • /
private void initialize() { this.setTitle("Calculatrice de pgcd"); this.setSize(300, 200); this.setContentPane(getJContentPane()); } static int calculaterPGCD(int a, int b) { if (b == 0) { return a; } else if (a >= b) { return calculaterPGCD(a - b, b); } else { return calculaterPGCD(b, a); } } /**
  • This method initializes jContentPane
  • @return javax.swing.JPanel
  • /
private javax.swing.JPanel getJContentPane() { if (jContentPane == null) { jLabelResultat = new JLabel(); jContentPane = new javax.swing.JPanel(); jContentPane.setLayout(null); jLabelResultat.setBounds(32, 125, 71, 26); jLabelResultat.setText(""); jContentPane.add(getJBoutonAddition(), null); jContentPane.add(getJTextPremierNombre(), null); jContentPane.add(getJTextDeuxiemeNombre(), null); jContentPane.add(jLabelResultat, null); } return jContentPane; } /**
  • This method initializes jBoutonAddition
  • @return javax.swing.JButton
  • /
private JButton getJBoutonAddition() { if (jBoutonpgcd == null) { jBoutonpgcd = new JButton(); jBoutonpgcd.setBounds(189, 85, 66, 28); jBoutonpgcd.setText("pgcd"); jBoutonpgcd.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { System.out.println("actionPerformed()"); // TODO // Auto-generated // Event stub // actionPerformed() String chainePremierNombre = jTextPremierNombre.getText(); int premierNombre = 1; int deuxiemeNombre = 1; try { premierNombre = Integer.parseInt(chainePremierNombre); } catch (NumberFormatException ex) { JOptionPane .showMessageDialog(getJContentPane(), "Le texte que vous avez entrez n'a pas le format d'un nombre"); } String chaineDeuxiemeNombre = jTextDeuxiemeNombre.getText(); try { deuxiemeNombre = Integer.parseInt(chaineDeuxiemeNombre); } catch (NumberFormatException ex) { JOptionPane .showMessageDialog(getJContentPane(), "Le texte que vous avez entrez n'a pas le format d'un nombre"); } int resultat = calculaterPGCD(premierNombre, deuxiemeNombre); jLabelResultat.setText("" + resultat); } }); } return jBoutonpgcd; } /**
  • This method initializes jTextPremierNombre
  • @return javax.swing.JTextField
  • /
private JTextField getJTextPremierNombre() { if (jTextPremierNombre == null) { jTextPremierNombre = new JTextField(); jTextPremierNombre.setBounds(30, 36, 107, 28); } return jTextPremierNombre; } /**
  • This method initializes jTextDeuxiemeNombre
  • @return javax.swing.JTextField
  • /
private JTextField getJTextDeuxiemeNombre() { if (jTextDeuxiemeNombre == null) { jTextDeuxiemeNombre = new JTextField(); jTextDeuxiemeNombre.setBounds(30, 74, 105, 26); } return jTextDeuxiemeNombre; } }

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
mercredi 17 mai 2006
Statut
Membre
Dernière intervention
6 juin 2006

Oui, c'est tout à fait possible d'utiliser la classe java.math.BigInteger
Merci pour la remarque!
Messages postés
54
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
21 juin 2007
1
jLabelResultat.setText ( ((new BigInteger(chainePremierNombre)).gcd((new BigInteger(chaineDeuxiemeNombre)))).toString() );

Tu peux aussi utiliser ça :) (java.math.BigInteger)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.