馃憖 Racional en Java 馃憖
Requerimientos:
Codificar un programa de n煤meros racionales en Java que realice las siguientes operaciones e imprima los resultados en consola:
- Sumar
- Restar
- Multiplicar
- Dividir
- Comparar si 2 n煤meros racionales son iguales
Resoluci贸n del ejercicio
1 paso
Lo primero que realizaremos sera crear un proyecto nuevo en NetBeans, donde indicaremos que realizaremos una aplicaci贸n en java, luego el nombre del proyecto y de la clase respectivamente.
Nuevo proyecto
Nombre del proyecto y de la clase
Proyecto Creado
2 paso
Con nuestro proyecto creado es momento de visualizar la l贸gica del programa, como un primer punto podemos decir que necesitaremos declarar 2 variables de tipo Int que serian el numerador y el denominador, posteriormente necesitaremos crear objetos racionales o fraccionarios que contengan el numerador y el denominador que ya mencionamos lo cual seria nuestro constructor.
Ejemplo:
1
-
8
Numerador entero =1
Denominador entero =8
Objeto = numerador / denominador = 1/8
Teniendo nuestras variables y el constructor claro, podemos empezar a dise帽ar los m茅todos que realicen las funciones solicitadas, los m茅todos deben ser del tipo racional para tener un racional 1 (r1), un racional 2 (r2) con los cuales operaremos y un racional 3 o racional del resultado (r3) por lo cual los m茅todos retornaran un racional.
Suma:
Para la suma multiplicaremos el numerador r1 por el denominador r2 + denominador r1 por el numerador r2 y eso lo pondremos en el numerador r3, lo que pondremos en el denominador r3 es el denominador r1 * denominador r2.
Resta:
Para la resta multiplicaremos el numerador r1 por el denominador r2 - denominador r1 por el numerador r2 y eso lo pondremos en el numerador r3, lo que pondremos en el denominador r3 es el denominador r1 * denominador r2.
Multiplicaci贸n:
La multiplicaci贸n consiste en multiplicar numerador r1 * numerador r2 y colocarlo en el numerador r3, despu茅s denominador r1 * denominador r2 y colocarlo en el denominador r3.
Divisi贸n:
La divisi贸n consiste en multiplicar el numerador r1 por el denominador r2 y colocar el resultado en el numerador, por consiguiente el denominador r3 esta definido por denominador r1 * numerador r2.
Es igual:
Para este caso donde buscamos determinar si 2 racionales son iguales utilizaremos un m茅todo que nos regrese un booleano que nos indique si es verdadero que son iguales o falso si no lo son y la comprobaci贸n sera numerador r1 * denominador r2 == denominador r1 * numerador r2.
Imprimir:
Como m茅todo adicional crearemos un m茅todo de tipo void el cual no retorne nada y 煤nicamente nos imprima el numerador y denominador del racional que se elija en la consola.
3 paso
Teniendo la l贸gica del programa solo queda estilizar la impresi贸n en consola al gusto, en mi caso yo opte por imprimir un menu en donde el usuario seleccione que operaci贸n quiere realizar y el programa realice la operaci贸n y se la muestre en la consola.
C贸digo:
import java.util.Scanner; //import de Scanner el cual sirve para escanear los datos del teclado
/**
*
* @author edgar
*/
public class Racional { // nombre de la clase
int den, num;
public Racional(int num, int den){ //Constructor
this.den=den;
this.num=num;
}
//M茅todos
Racional mult(Racional r){
return new Racional(num * r.num, den * r.den);
}
Racional division(Racional r){
return new Racional(num * r.den, den * r.num);
}
Racional suma(Racional r){
return new Racional((num * r.den)+(den * r.num), den * r.den);
}
Racional resta(Racional r){
return new Racional((num * r.den)-(den * r.num), den * r.den);
}
boolean esIgual(Racional r){
return num * r.den == den * r.num;
}
void imprime(){
System.out.println(this.num+" / "+ this.den);
}
public static void main(String[] args) { //m茅todo main o de ejecuci贸n
int opc; // variable que guarda el n煤mero de la opci贸n elegida
int a,b,c,d;
boolean r4;
Scanner entrada= new Scanner(System.in); // variable entrada que escanea los datos del teclado
Racional r1, r2, r3; //se declaran los objetos con los cuales se operar谩
System.out.println("Racional");
System.out.println("1: Sumar");
System.out.println("2: Restar");
System.out.println("3: Multiplicar");
System.out.println("4: Dividir");
System.out.println("5: Es igual");
System.out.println("Seleccione una opci贸n para realizar una operaci贸n:");
opc = entrada.nextByte();
System.out.println("Ingresa el numerador del racional 1:");
a = entrada.nextInt();
System.out.println("Ingresa el denominador del racional 1:");
b = entrada.nextInt();
System.out.println("Ingresa el numerador del racional 2:");
c = entrada.nextInt();
System.out.println("Ingresa el denominador del racional 2:");
d = entrada.nextInt();
switch(opc){ // mecanismo de control
case 1: // suma
r1=new Racional(a,b);
r2=new Racional(c,d);
r3=r1.suma(r2);
r3.imprime();
break;
case 2: // Resta
r1=new Racional(a,b);
r2=new Racional(c,d);
r3=r1.resta(r2);
r3.imprime();
break;
case 3: // Multiplicaci贸n
r1=new Racional(a,b);
r2=new Racional(c,d);
r3=r1.mult(r2);
r3.imprime();
break;
case 4: // Divisi贸n
r1=new Racional(a,b);
r2=new Racional(c,d);
r3=r1.division(r2);
r3.imprime();
break;
case 5: // Es igual
r1=new Racional(a,b);
r2=new Racional(c,d);
r4=r1.esIgual(r2);
if(r4==true)System.out.println("Racional 1 = Racional 2.");
else System.out.println("Racional 1 != Racional 2.");
break;
}
}
}
Resultado de la ejecuci贸n del c贸digo
Comentarios
Publicar un comentario