Advertisement
Guest User

Untitled

a guest
Nov 27th, 2014
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.55 KB | None | 0 0
  1. package org.ip.sesion05;
  2.  
  3. public class Fraccion {
  4.  
  5. private int numerador;
  6. private int denominador;
  7. private static int numFracciones = 0;
  8.  
  9. public Fraccion() {
  10. numerador = 0;
  11. denominador = 1;
  12. numFracciones++;
  13. }
  14. public Fraccion(int numerador, int denominador) {
  15. super();
  16. this.numerador = numerador;
  17. this.denominador = denominador;
  18. numFracciones++;
  19. }
  20. @Override
  21. public boolean equals(Object obj) {
  22. if (this == obj)
  23. return true;
  24. if (obj == null)
  25. return false;
  26. if (getClass() != obj.getClass())
  27. return false;
  28. Fraccion other = (Fraccion) obj;
  29. if (denominador != other.denominador)
  30. return false;
  31. if (numerador != other.numerador)
  32. return false;
  33. return true;
  34. }
  35. public int getNumerador() {
  36. return numerador;
  37. }
  38. public int getDenominador() {
  39. return denominador;
  40. }
  41. public static int getNumFracciones() {
  42. return numFracciones;
  43. }
  44. @Override
  45. public String toString() {
  46. if(denominador ==1)
  47. return numerador + "";
  48. else
  49. return numerador + "/" + denominador;
  50. }
  51. public Fraccion sumar(Fraccion b){
  52. int numerador = (this.numerador * b.getDenominador()) + (this.denominador * b.getNumerador());
  53. int denominador = this.denominador * b.getDenominador();
  54. return new Fraccion(numerador, denominador);
  55. }
  56. public static Fraccion sumar(Fraccion a, Fraccion b){
  57. int numerador = (a.getNumerador() * b.getDenominador()) + (a.getDenominador() * b.getNumerador());
  58. int denominador = a.getDenominador() * b.getDenominador();
  59. return new Fraccion(numerador, denominador);
  60. }
  61. public Fraccion restar(Fraccion b){
  62. int numerador = (this.numerador * b.getDenominador()) - (this.denominador * b.getNumerador());
  63. int denominador = this.denominador * b.getDenominador();
  64. return new Fraccion(numerador, denominador);
  65. }
  66. public Fraccion multiplicar(Fraccion b){
  67. int numerador = this.numerador*b.getNumerador();
  68. int denominador = this.denominador*b.getDenominador();
  69. return new Fraccion(numerador, denominador);
  70. }
  71. public Fraccion dividir(Fraccion b){
  72. int numerador = this.numerador * b.getDenominador();
  73. int denominador = this.denominador * b.getNumerador();
  74. return new Fraccion(numerador, denominador);
  75. }
  76. public Fraccion inversa(Fraccion b){
  77. int numerador = this.denominador;
  78. int denominador = this.numerador;
  79. return new Fraccion(numerador, denominador);
  80. }
  81. private static int mcd(int u, int v){
  82. int aux;
  83. while(u % v !=0){
  84. aux=u;
  85. u=v;
  86. v= aux%v;
  87. }
  88. return v;
  89. }
  90. public Fraccion simplificar(){
  91. int dividir = mcd(numerador, denominador);
  92. numerador /= dividir;
  93. denominador /= dividir;
  94. return this;
  95. }
  96. }
  97. //ahora la clase main//
  98. package org.ip.sesion05;
  99.  
  100. public class TestFraccion {
  101.  
  102. public static void main(String[] args) {
  103. // TODO Auto-generated method stub
  104. System.out.println("LAS FRACCIONES CREADAS SON");
  105. Fraccion f1 = new Fraccion(1, 5);
  106. Fraccion f2 = new Fraccion(4, 5);
  107. Fraccion f3 = new Fraccion(-11, 22);
  108. System.out.println("PRIMERA FRACCIÓN ==> " + f1.toString());
  109. System.out.println("SEGUNDA FRACCIÓN ==> " + f2.toString());
  110. System.out.println("TERCERA FRACCIÓN ==> " + f3.toString());
  111. System.out.println("El número de fracciones creadas es " + Fraccion.getNumFracciones());
  112. if(f1.equals(f2))
  113. System.out.println("La primera fracción ES IGUAL a la segunda");
  114. else
  115. System.out.println("La primera fracción NO ES IGUAL a la segunda");
  116. System.out.println("El numerador de la tercera fracción es =>" + f3.getNumerador());
  117. System.out.println("El denominador de la primera fracción es =>" + f1.getDenominador());
  118. System.out.println("La suma, utilizando el método de clase de " + f1.toString() + f2.toString() + " es " + Fraccion.sumar(f1, f2));
  119. System.out.println("La suma, utilizando el método de objeto de " + f1.toString() + " + " + f2.toString() + " es " + f1.sumar(f2) + " simplificada " + f1.sumar(f2).simplificar());
  120. System.out.println("La resta de " + f1.toString() + " - " + f2.toString() + " es " + f1.restar(f2) + " simplificada " + f1.restar(f2).simplificar());
  121. System.out.println("El producto " + f1.toString() + " x " + f2.toString() + " es " + f1.multiplicar(f2));
  122. System.out.println("La division de " + f1.toString() + " / " + f3.toString() + " es " + f1.dividir(f3));
  123. System.out.println("La inversa de la primera fracción " + f1.toString() + " es " + f1.inversa(f1));
  124. System.out.println("La fracción " + f3.toString() + " simplificada es " + f3.simplificar());
  125. System.out.println("El número de fracciones creadas es " + Fraccion.getNumFracciones());
  126.  
  127. }
  128.  
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement