Este último método lo llamé así y lo explico mediante algunos ejemplos:
En el método toString( ) (método override), nos muestra la fracción con el signo + o - de la fracción entre paréntesis, si no tiene signo sabemos que es positivo.
Veamos la implementación de esta clase:
package proyfraccion; /** * * @author CrysMario */ public class Fraccion { private int numerador; private int denominador; private int signo; public Fraccion() { this.numerador = 1; this.denominador = 1; this.signo = 1; } public Fraccion(int numerador, int denominador) { this.numerador = numerador; this.denominador = denominador; this.signo = 1; } public int getNumerador() { return numerador; } public int getDenominador() { return denominador; } public int getSigno() { return signo; } public void setNumerador(int numerador) { this.numerador = numerador; } public void setDenominador(int denominador) { this.denominador = denominador; } public void cambiarSigno() { signo *= -1; } public void procesar() { if (numerador >= 0 && denominador < 0) signo = -1; else if (numerador < 0 && denominador >= 0) signo = -1; numerador = Math.abs(numerador); denominador = Math.abs(denominador); } public void invertir() { int aux = numerador; numerador = denominador; denominador = aux; } public void simplificar() { System.out.println("Simplificando..."); int cont = 2; while (cont <= Math.abs(numerador) && cont <= Math.abs(denominador)) { if (numerador % cont == 0 && denominador % cont == 0) { numerador = numerador / cont; denominador = denominador / cont; System.out.println(toString()); } else cont++; } System.out.println("Fin"); } public double getResultado() { try { return (double) numerador / (double) denominador; } catch (Exception e) { System.out.println("Error: División por CERO."); return 0; } } @Override public String toString() { if (signo == 1) return "(" + numerador + "/" + denominador + ")"; else return "-(" + numerador + "/" + denominador + ")"; } }
Y en el método main( ) podemos hacer lo siguiente:
public static void main(String[] args) { Fraccion f = new Fraccion(18, 27); System.out.println(f.toString()); f.simplificar(); System.out.println(f.toString()); f.procesar(); System.out.println(f.toString()); System.out.println(f.getResultado()); }
Una vez ejecutado esta aplicación, nos mostrará lo siguiente:
run: (18/27) Simplificando... (6/9) (2/3) Fin (2/3) (2/3) 0.6666666666666666 BUILD SUCCESSFUL (total time: 0 seconds)
Si quieren adquirir el programa completo en Java + Netbeans, comente solicitando la aplicación y no olvidar el correo electrónico para enviar.
If you want to acquire the entire program in Java + Netbeans, comment requesting the application and do not forget comment your email.
gracias
ResponderEliminarQue buen ejemplo de java para fracciones
ResponderEliminarPor favor me puedes enviar el código para revisarlo me da error al momemto de ejecutarlo javier.marquez.c@gmail.com
ResponderEliminar