Ver Mensaje Individual
  #34 (permalink)  
Antiguo 26/04/2006, 13:38
Avatar de Tipdar
Tipdar
 
Fecha de Ingreso: octubre-2005
Ubicación: Aquí y allá.
Mensajes: 323
Antigüedad: 21 años
Puntos: 7
Números fraccionarios

Tema: Clase Números Fraccionarios

Esta clase la he implementado para un proyecto de la facultad... a cualquiera puede servirle. He tratado de que sea lo más orientada a objetos posible.

Código PHP:
//
public class NumerosFraccionarios {
    private 
int numerador;

    private 
int denominador;

    public 
NumerosFraccionarios(int numerador, int denominador) {
        
this.numerador = numerador;
        
this.denominador = denominador;
    }

        public 
NumerosFraccionarios(NumerosFraccionarios fraccion) {
                
numerador = fraccion.getNumerador();
                
denominador = fraccion.getDenominador();
        }

    public 
int getDenominador() {
        return 
denominador;
    }

    public 
void setDenominador(int denominador) {
        
this.denominador = denominador;
    }

    public 
int getNumerador() {
        return 
numerador;
    }

    public 
void setNumerador(int numerador) {
        
this.numerador = numerador;
    }

        
// Le sumamos a nuestro objeto NumerosFraccionarios otro objeto NumerosFraccionarios
    
public void suma(NumerosFraccionarios fraccion) {
                
int den = fraccion.getDenominador();
        
this.numerador = this.numerador * den + fraccion.getNumerador() * this.denominador;
        
this.denominador = this.denominador * den;
    }

        
// Le sumamos a nuestro objeto NumerosFraccionarios otro objeto NumerosFraccionarios
    
public void resta(NumerosFraccionarios fraccion) {
                
int den = fraccion.getDenominador();
        
this.numerador = this.numerador * den - fraccion.getNumerador() * this.denominador;
        
this.denominador = this.denominador * den;
    }

        
// Multiplicamos nuestro objeto NumerosFraccionarios por otro objeto NumerosFraccionarios
    
public void multiplica(NumerosFraccionarios fraccion) {
        
this.numerador *= fraccion.getNumerador();
        
this.denominador *= fraccion.getDenominador();
    }

        
// Dividimos nuestro objeto NumerosFraccionarios por otro objeto NumerosFraccionarios
    
public void divide(NumerosFraccionarios fraccion) {
        
this.numerador *= fraccion.getDenominador();
        
this.denominador *= fraccion.getNumerador();
    }

        
// Lleva nuestro objeto NumerosFraccionarios a la fraccion irreducible
        // Si 3/4, la fracción irreducible sería 3/4; si 2/4, la fracción irreducible sería 1/2
    
public void irreducible() {
        
int num = Math.abs(this.numerador);
        
int den = Math.abs(this.denominador);
        
int resto = 0;
        while (
den != 0) {
            
resto = num % den;
            
num = den;
            
den = resto;
        }
        
this.numerador /= num;
        
this.denominador /= num;
    }
} 
Hasta pronto!
__________________
El último TipdaR