IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

calculs sur les Fractions


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 71
    Par défaut calculs sur les Fractions
    Bonjour,

    J'ai une classe Fraction qui prend deux entiers, un numérateur et un dénominateur puis avec différentes méthodes pour faire des calculs sur les fractions.
    Je dois représenter le num et le denom par des objets BigInteger mais je ne sais comment faire.
    Voci mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    public class Fraction {
    		private int num;
    		private int den;
     
    	public Fraction (BigInteger num, BigInteger den) //Constructeur
    	{
     
    	}
     
    	public Fraction (int n, int d) //Construction d'une fraction avec 2 entiers convertis avec Big Integer
    	{
     
    	}
     
    	public Fraction (int n) //Construction d'une fraction à partir d'un entier
    	{
     
    	}
     
    	public Fraction add(Fraction f) //addition de 2 fractions
    	{
    		int a=0,b=0;
    		b = this.den * f.den;
    		a = (this.num * f.den) + (f.num * this.den);
    		Fraction fractadd = new Fraction (a,b);
    		return fractadd;
    	}
     
    	public Fraction sub(Fraction f) //Soustraction
    	{
    		int a=0,b=0;
    		b = this.den * f.den;
    		a = (this.num * f.den) - (f.num * this.den);
    		Fraction fractsub = new Fraction (a,b);
    		return fractsub;
    	}
     
    	public Fraction mult(Fraction f) // Multiplication
    	{
    		int a=0,b=0;
    		b = this.den * f.den;
    		a = (this.num * f.num;
    		Fraction fractmult = new Fraction (a,b);
    		return fractmult;
    	}
     
    	public Fraction divi(Fraction f) //division
    	{
    		int a=0,b=0;
    		b = this.den * f.num;
    		a = this.num * f.den;
    		Fraction fractdivi = new Fraction (a,b);
    		return fractdivi;
    	}
     
    	public String toString () //conversion d'une fraction en chaines de caracteres
    	{
    		return ("(" + this.num + "/" + this.den + ")");
    	}
     
    	public double doublevalue() //obtention de la valeur décimale, approximation de la fraction
    	{
     
    	}
     
    	public static void main(String[] args) {
     
    	}
     
    }
    Merci de m'éclairer...

  2. #2
    Membre émérite
    Avatar de LinkinSelim
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Mars 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mars 2006
    Messages : 365
    Par défaut
    Un petit coup d'oeil sur la classe BigInteger et sur son constructeur qui prends en entrée un String te sera très utile.

  3. #3
    Membre Expert
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Par défaut BigInteger et BigDecimal
    Bonjour,

    il est clair qu'il faut consulter la documentation de la classe BigInteger, et dans le détail parce qu'il y a des choses à savoir Voiçi des 2 petits codes pour t'en convaincre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    static void testBigDecimal() {
            System.out.println("testBigDecimal : ");
     
            BigDecimal bd1 = new BigDecimal(2.8);
            BigDecimal bd2 = new BigDecimal("2.8");
     
            System.out.println("bd1 = " + bd1);    
    // bd1 = 2.79999999999999982236431605997495353221893310546875
            System.out.println("bd2 = " + bd2);    
    // bd2 = 2.8
     }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        static void testAffectationBigDecimal() {
            System.out.println("testAffectationBigDecimal : ");
     
            BigDecimal bd1 = new BigDecimal("10.5");
            BigDecimal bd2 = new BigDecimal("4.2");
     
            bd1.add(bd2);
            System.out.println("bd1 = " + bd1);    // bd1 = 10.5
            bd1 = bd1.add(bd2);
            System.out.println("bd1 = " + bd1);    // bd1 = 5.10
        }
    Ceci étant, je suis intéressé pour suivre ce que tu fait car je projettrais de construire une telle classe. Bon courage

  4. #4
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    pourquoi tu ne gardes pas tes deux variables membres comme des BigInteger?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      private final BigInteger denominateur ;
    ensuite utiliser les méthodes des cette classe pour réaliser les opérations.
    (note: la division à revoir ....)

Discussions similaires

  1. Calcul sur les heures
    Par franfr57 dans le forum Langage
    Réponses: 5
    Dernier message: 20/04/2006, 17h56
  2. [Dates] Calcul sur les dates...
    Par gawelldanor dans le forum Langage
    Réponses: 10
    Dernier message: 04/04/2006, 11h07
  3. Réponses: 12
    Dernier message: 31/03/2006, 20h02
  4. [Math]probleme de precision de calcul sur les float
    Par calvin dans le forum Langage
    Réponses: 6
    Dernier message: 26/05/2005, 07h53
  5. [C#] Calcul sur les dates avec des DateTimePicker
    Par alizee971 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 02/04/2005, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo