Primer Programa 馃捇 | Racional en Java ½ | Paso a Paso


馃憖 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

Entradas populares