Saturday, July 15, 2017

Ejercicio 8

Problema

Desarrolle un programa que ejecute las siguiente operaciones con dos números enteros: suma, resta, multiplicación y modulo. El programa debe:
  • Mostrar mensaje que solicite por consola dos números enteros.
  • Mostrar mensaje por consola que especifique operación a desarrollar:
    1. Suma
    2. Resta
    3. Multiplicación
    4. Modulo
    El usuario debe escribir 1 si desea que se realice la suma, etc.
  • Mostrar un mensaje en consola que determine el resultado de la operación.
  • Desarrollar el ejercicio con if y enum . Identificar diferencias y comentarlas con los compañeros.
  • Intentar compilarlo y ejecutarlo desde el promt (Windows) ó Terminal (Mac y Linux).

Solución

La solución que se propone emplea enum solamente. Se deja al lector la implementación de la solución con if.

Clase Operacion

package certification1;
import java.util.Scanner;

public class Operacion {
    Scanner read = new Scanner(System.in);
    private int val1, val2;
    private int option = 4;  // Default is modulo
    private String cont = "y";
    
    public void start_Msg1(){
        System.out.printf("%20s","Digite dos numeros enteros:");
        val1 = read.nextInt();
        val2 = read.nextInt();
    }
    
    public void start_Msg2(){
        System.out.printf("%20s \n","Digite la opción que desea ejecutar:");
        System.out.printf("%-20s \n""1) Suma");
        System.out.printf("%-20s \n""2) Resta");
        System.out.printf("%-20s \n""3) Multiplicación");
        System.out.printf("%-20s \n""4) Modulo");
        System.out.printf("%-8s","Opción: ");
        option = read.nextInt();
    }
    
    public void end_Msg(){
        System.out.println("---------------");
        System.out.printf("%-20s","Desea continuar con otra operación (y / n): ");
        cont = read.next();
        System.out.println("---------------");
    }
    
    public void Suma(){
        System.out.println(val1 + " + " + val2 + " = " + (val1 + val2));
    }
    
    public void Resta(){
        System.out.println(val1 + " - " + val2 + " = " + (val1 - val2));
    }
    
    public void Multiplicacion(){
        System.out.println(val1 + " * " + val2 + " = " + (val1 * val2));
    }
    
    public void Modulo(){
        System.out.println(val1 + " % " + val2 + " = " + (val1 % val2));
    }
    
    public void start(){
        boolean test = true;
        boolean condition = true;
        while(cont.equals("y")){
            if(condition){
                start_Msg1();
                start_Msg2();
                switch(option){
                    case 1:
                        Suma();
                        end_Msg();
                        break;
                    case 2:
                        Resta();
                        end_Msg();
                        break;
                    case 3: 
                        Multiplicacion();
                        end_Msg();
                        break;
                    case 4:
                        Modulo();
                        end_Msg();
                        break;
                    default:
                        System.out.println("Incorrect value");
                        break;
                }
            }
        }
    }
}

Método Main

package certification1;

public class Certification1 {
    
    public static void main(String[] args) {
        Operacion Op = new Operacion();
        Op.start();
    }
}

No comments:

Post a Comment

Earn free bitcoin