Monday, July 31, 2017

Ejercicio 2

Inheritance Ejercicio 2 (Java)
Problemas (solución no generada, discutir con compañeros)
  1. ¿ Cuál es la palabra clave empleada en Java SE 8 (y otras versiones), si se quiere que una clase herede (inheritance) variables y métodos de otra clase ?



  2. Suponga que se tienen dos clases: Option (instrumento financiero) y Equity_Option (opción sobre acciones). La clase Equity_Option hereda (inheritance) variables y métodos de la clase Option si tienen control de acceso:



  3. ¿ Cuantas superclases se puede especificar para cada sub-clase ?
  4. ¿ Cuál es el resultado del siguiente código ?
    public class A {
        private int val1;
        public int val2;
        
        public A(int val1, int val2){
            this.val1 = val1;
            this.val2 = val2;
        }
    }

    public class B extends A {
        public B(int val1, int val2){
            super(val1,val2);
        }
        public void print(){
            System.out.println("A.val1++ :" + val1++);
            System.out.println("A.val2++ : " + val2++);
        }
    }
    public class Certification1 {
        
        public static void main(String[] args) {
           try{
               B b1 = new B(2,3);
               b1.print();
           }
           catch(Exception e){
               System.out.println(e.getMessage());
           }
        }
    }
  5. Es verdadera / falsa la siguiente afirmación: "Los miembros de una clase declarados privados son sólo visibles dentro de la misma clase. No se puede acceder a ellos desde ningún otro sitio, incluido las subclases".
  6. ¿Cómo puedo acceder a la variable val1 de la clase A del ejercicio 4?
  7. ¿ Cómo se puede llamar el método print() de la clase A desde main ?
  8. Razona si la siguiente afirmación es verdadera/falsa:" Una clase es Abstracta, si y solo si, todos sus métodos son abstractos."
  9. ¿ Qué usos tiene la palabra final en Java ?
Read more »

Ejercicio 1

Inheritance Ejercicio 1 (java)
Problema

Defina la clase Persona con las siguientes variables:

  • nombre
  • apellido
  • sexo
  • edad
A continuación defina la clase Estudiante que hereda las variables de Person además de las siguientes:
  • Grado (tipo enum con las siguientes opciones: Contadurías, Sistemas, Medicina)
  • Semestre (tipo int [0-10])
La clase Estudiante contiene el método print() que muestra un resumen detallado de la información del estudiante: nombre, apellido, sexo, edad, grado, semestre.

En este ejercicio, desarrolle el diagrama UML (busque en internet) de las clases y su relación. Todas las variables son privadas, por lo tanto implemente los setters y getters necesarios para poder desarrollar el resumen solicitado.

Solución

Clase Persona

package certification1;

public class persona {
    public enum sex{H,M};
    protected final String nombre;
    protected final String apellido;
    protected final int edad;
    protected final persona.sex sexo;
    
    public persona(String nombre, String apellido, int edad, Object sexo){
        this.nombre = nombre;
        this.apellido = apellido;
        this.edad = edad;
        this.sexo = (sex)sexo;
    }
}
Clase Estudiante

package certification1;

public class estudiante extends persona {
    private final grado grad;
    public enum grado{Medicina, Contaduria, Sistemas};
    public estudiante(String nombre, String apellido, int edad, sex sexo, Object estudio){
        super(nombre,apellido,edad,sexo);
        grad = (grado)estudio;
    }
    
    public void print(){
        System.out.println(super.nombre + " " + super.apellido + " de sexo: " + super.sexo + ", tiene " + super.edad + " años y estudia: " + grad);
    }
    
}
Método main

package certification1;

public class Certification1 {
    
    public static void main(String[] args) {
       try{
           estudiante e1 = new estudiante("Mauricio","Bedoya",37,persona.sex.H,estudiante.grado.Contaduria);
           e1.print();
       }
       catch(Exception e){
           System.out.println(e.getMessage());
       }
    }
}
Read more »

Ejercicio 13

Ejercicio 13 (Java)
Problema

Desarrolle un programa que

  1. Pregunte al usuario: Por favor digite dos números:
  2. Especifique operación a desarrollar:
    1. Suma
    2. Resta
    3. Multiplicar
    4. Dividir
    5. Modulo
  3. Después de dar el resultado, pregunta al usuario: Desea salir del programa ? (y/n)
El programa debe continuar ejecutando hasta que el usuario lo especifique.

Solución
Clase calculadora

package certification1;

import java.util.Scanner;

public class calculadora {
    private double val1, val2, result;
    private final Scanner read = new Scanner(System.in);
    private String continuar = "N";
    private int operacion;
    private boolean stop = true;
    
    private void suma(){
        result = val1 + val2;
    }
    private void resta(){
        result = val1 - val2;
    }
    private void multiplicar(){
        result = val1 * val2;
    }
    private void dividir(){
        result = val1 / val2;
    }
    private void modulo(){
        result = val1 % val2;
    }
    public void start(){
        while(stop){
            switch(continuar){
                case "N":
                    System.out.print("Digite dos numeros: ");
                    val1 = read.nextDouble();
                    val2 = read.nextDouble();
                    menu();
                    operacion = read.nextInt();
                    operar(operacion);
                    mensaje_final();
                    break;
                case "Y":
                    stop = false;
                    break;
                default:
                    System.out.println("Opción no valida.");
                    continuar = "N";
                    break;
            }
        }
        
    }
    private void operar(int x){
        switch(x){
            case 1:
                suma();
                break;
            case 2:
                resta();
                break;
            case 3:
                multiplicar();
                break;
            case 4:
                dividir();
                break;
            case 5:
                modulo();
                break;
            default:
                System.err.println("Opción erronea");
                result = 0;
                break;
        }
        System.out.println("Resultado: " + result);
    }
    private void menu(){
        System.out.println("Especifique operación a desarrollar.");
        System.out.println("1) Suma");
        System.out.println("2) Resta");
        System.out.println("3) Multiplicación");
        System.out.println("4) División");
        System.out.println("5) Modulo");
        System.out.print(":");
    }
    private void mensaje_final(){
        System.out.print("Desea salir del programa ? (Y/N)");
        continuar = read.next().toUpperCase();
    }
}
Método main

package certification1;

public class Certification1 {
    
    public static void main(String[] args) {
       try{
           calculadora c1 = new calculadora();
           c1.start();
       }
       catch(Exception e){
           System.out.println(e.getMessage());
       }
    }
}
Read more »

Sunday, July 30, 2017

Class Ejercicio 9

Clases Ejercicio 9(Java)
Problema

Defina una clase con un método: acumulate2zero(int z) que calcule la suma acumulada desde z a cero. Realice los controles correspondientes.

Solución

Defino el método estatico accumulate2zero(int z) de la clase recurrence.

Clase Recurrence

package certification1;

public class Recurrence {
    static int accumulate2zero(int x){
        assert(x > 0);
        if(x == 1){
            x += 0;
        }else{
             x += accumulate2zero(x-1);
        }
        return x;
    }
}

Método main

package certification1;

public class Certification1 {
    
    public static void main(String[] args) {
       try{
           System.out.println(Recurrence.acumulate2zero(10));
       }
       catch(Exception e){
           System.out.println(e.getMessage());
       }
    }
}
Read more »

Class Problema 8

Clases Problema 8 (Java)
Problema

Define una clase que en uno de sus métodos devuelva la misma clase mutada (cambiada). Por ejemplo, considere la clase Persona con dos variables: sexo (enum {h,m}) y edad. A continuación, desarrolle el método: mutar que devuelva a la persona con 10 año menos y de sexo cambiado.

Solución

Clase Persona

package certification1;

public class persona {
    private int age;
    private sex sexo;
    public enum sex{H,M};
    public persona(int age, sex sexo){
        this.age = age;
        this.sexo = sexo;
    }
    
    public persona mutar(){
        persona tmp = new persona(age,sexo);
        if (tmp.age > 10) {
            tmp.age -= 10;
            if(tmp.sexo == persona.sex.H){
                tmp.sexo = persona.sex.M;
            }else{
                tmp.sexo = persona.sex.H;
            }
        }else{
            System.out.println("No aplica cambio de edad ni sexo");
        }
        
        return tmp;
    }
    
    public void print(){
        System.out.println("Edad: " + age + " - sexo: " + sexo);
    }
}
Método main

package certification1;

public class Certification1 {
    
    public static void main(String[] args) {
       try{
           persona p1 = new persona(10,persona.sex.H);
           persona p2 = p1.mutar();
           
           p1.print();
           p2.print();
       }
       catch(Exception e){
           System.out.println(e.getMessage());
       }
    }
}
Read more »

Class Problema 7

Clases Problema 7 (Java)
Problema

Identifique y muestra la diferencia de pasar argumentos por referencia y por valor. Ayuda: En el Manual de Java SE 8 en la pagina 173 dice:"Cuando se pasa una variable primitiva dentro de un método, esta pasa como valor......, mientras que cuando se pasa un objeto como parámetro dentro de un método, éste pasa por referencia.
De un ejemplo que permita demostrar esta afirmación (en el manual hay un ejemplo con valores enteros, inténtelo hacer con otra variable primitiva).

Solución

Clase valor_referencia

package certification1;

public class valor_referencia {
    int valor1;
    
    public valor_referencia(int valor){
        valor1 = valor;
    }
    
    void referencia(valor_referencia a){
        a.valor1 *= 2;   // valor1 cambiara
    }
    
    void valor(int a){
        a *= 2;        // valor1 NO cambiara
    }
}
Clase main


package certification1;

public class Certification1 {
    
    public static void main(String[] args) {
       try{
           
           {
               System.out.println("Por Referencia");
               valor_referencia x = new valor_referencia(12);
               x.referencia(x);
               System.out.println(x.valor1);
           }
           {
               System.out.println("Por valor");
               int valor1 = 12;
               valor_referencia x = new valor_referencia(valor1);
               x.valor(2);
               System.out.println(valor1);
           }
           
       }
       catch(Exception e){
           System.out.println(e.getMessage());
       }
    }
}
Read more »

Class Ejercicio 6

Class Ejercicio 6 (Java)
Problema

El objetivo del siguiente problema es que el estudiante identifique que una clase puede emplearse como parámetro dentro de un método/constructor de otra clase.

Considere las clases: Carro, Análisis :

Clase Carro

  • Variables: Cilindrara (double), tipo (enum: campero, automóvil), puertas (int).
  • El constructor asigna valores a cada una de las variables.
  • Identifique como NetBeans genera los setters y getters automáticamente.
Clase Análisis
  • El constructor tiene dos parámetros Carro.
  • Método comparar() imprime la información de los dos carros que se pasan como parámetros (impresión que resulte útil).

Solución

La impresión que propongo es una de muchas que se pueden plantear.

Clase Carro


package certification1;

public class Carro {
    private final double cilindrada;
    private final tipo t;
    private final int puertas;
    
    public enum tipo{automovil, campero};
    
    public Carro(double cilindrada, tipo t, int puertas){
        this.cilindrada = cilindrada;
        this.t = t;
        this.puertas = puertas;
    }
    public double getCilindrada() {
        return cilindrada;
    }
    public tipo getT() {
        return t;
    }
    public int getPuertas() {
        return puertas;
    }
}

Clase Analisis


package certification1;

public class Analisis {
    private Carro c1, c2;
    public Analisis(Carro c1, Carro c2){
        this.c1 = c1;
        this.c2 = c2;
    }
    
    public void comparar(){
        System.out.println("Información");
        System.out.printf("%-13s %-13s %-13s %-13s \n","","Cilindrada""Tipo""Num. Puertas");
        System.out.printf("%-13s %-13s %-13s %-13s \n","Carro1: ",c1.getCilindrada(),c1.getT(),c1.getPuertas());
        System.out.printf("%-13s %-13s %-13s %-13s \n","Carro2: ",c2.getCilindrada(),c2.getT(),c2.getPuertas());
    }
}

Clase main


package certification1;

public class Certification1 {
    
    public static void main(String[] args) {
       try{
           Carro c1 = new Carro(2000,Carro.tipo.automovil,4);
           Carro c2 = new Carro(4500,Carro.tipo.campero,5);
           Analisis analisis_comparativo = new Analisis(c1,c2);
           analisis_comparativo.comparar();
       }
       catch(Exception e){
           System.out.println(e.getMessage());
       }
    }
}

Read more »

Friday, July 28, 2017

Class Ejercicio 5

Clases Ejercicio 5 (Java)
Problema

Identifique como emplear "Method Overloading" en la siguiente clase para: el constructor y cualquier métodos (propuesto por el estudiante).


package certification1;

public class Computador {
    private String procesador;
    private int memoria;
    public enum tipo {Portatil,PC};
    private  tipo t;
    private int resol_pantalla;
    /* Su codigo aqui */
}
Solución

La solución no es única.

Clase Computador

package certification1;

public class Computador {
    private String procesador;
    private int memoria;
    public enum tipo {Portatil,PC};
    private tipo t;
    private int resol_pantalla; // en pixeles
    
    // Constructor sin parametros
    public Computador(){
        procesador = "Intel Core i4";
        memoria = 2;
        t = tipo.PC;
        resol_pantalla = 224;
    }
    
    public Computador(String procesador, int memoria, tipo t, int resol_pantalla){
        this.procesador = procesador;
        this.memoria = memoria;
        this.t = t;
        this.resol_pantalla = resol_pantalla;
    }
    
    public void print(){
        System.out.println("Las caracteristicas del computador son: ");
        System.out.println("Procesador: " + procesador);
        System.out.println("Memoria: " + memoria);
        System.out.println("Tipo: " + t);
        System.out.println("Pantalla: " + resol_pantalla);
        System.out.println("_____________________________");
    }
    
    public void print(int memoria){
        System.out.println("Las caracteristicas del computador son: ");
        System.out.println("Procesador: " + procesador);
        System.out.println("Memoria: " + memoria);
        System.out.println("Tipo: " + t);
        System.out.println("Pantalla: " + resol_pantalla);
        System.out.println("_____________________________");
    }
}
Clase main

package certification1;

public class Certification1 {
    
    public static void main(String[] args) {
       try{
           Computador comp1 = new Computador();
           Computador comp2 = new Computador("Intel Xeon",4,Computador.tipo.Portatil,55);
           comp1.print();
           comp2.print(8);
       }
       catch(Exception e){
           System.out.println(e.getMessage());
       }
    }
}

La solución propuesta tiene un error, intenta identificarlo. Esta relacionado con encapsulation y el método: public void print(int memoria) .

Read more »

Tuesday, July 25, 2017

Class Ejercicio 4

Nota: En el siguiente ejercicio la complejidad aumentará. Se requiere conocer el funcionamiento de los operadores lógicos y condicionales (if/else, switch).

Problema

Defina la clase Carro con las siguientes variables:
  • puertas (valor por defecto 3, privada ).
  • velocidad (valor por defecto 0, privada).
  • puertas-Cerradas (valor por defecto: falso, privada).
Implemente los métodos abrir_puertas(), cerrar_puertas(), acelerar() y frenar() considerando lo siguiente:
  • El carro solo acelera si tiene las puertas cerradas.
  • Cada vez que el carro acelera, su velocidad aumenta en 10 Km. El valor máximo de la velocidad es 100 Km.
  • El carro solo frena si la velocidad es mayor que cero y las puertas están cerradas. La velocidad se reducirá en 10 km.
  • Si la velocidad es 100 Km y se ejecuta el método acelerar, saldrá un mensaje en consola diciendo: No se puede acelerar mas.
  • Si la velocidad es 0 km y se ejecuta el método frenar, saldrá un mensaje en consola diciendo: El carro está frenado.
  • Es posible crear un carro con una velocidad mayor que cero y con las puertas abiertas. No obstante, para que los métodos: frenar y acelerar funcionen correctamente, es necesario cerrar las puertas previamente.

Solución

La funcionalidad debe ser igual, pese a existir diferentes formas de solucionar el problema.

Clase Carro

package certification1;

public class Carro {
    private int num_puertas = 3;
    private int velocidad = 0;
    private boolean puertas_cerradas = false;
    
    public Carro(){
        this.num_puertas = 3;
        this.velocidad = 0;
        this.puertas_cerradas = false;
    }
    
    public Carro(int num_puertas, int velocidad, boolean puertas_cerradas){
        assert(num_puertas > 0);
        assert(velocidad >= 0);
        this.num_puertas = num_puertas;
        this.velocidad = velocidad;
        this.puertas_cerradas = puertas_cerradas;
    }
    
    public void acelerar(){
        if(puertas_cerradas == true){
            if(velocidad < 100){
                velocidad += 10;
                System.out.println("Velocidad actual (despues de acelerar): " + velocidad);
            }else{
                System.out.println("No se puede acelerar mas.");
            }
        }else{
            System.out.println("Puertas abiertas no se puede acelerar.");
        }
    }
    
    public void frenar(){
        if(velocidad == 0){
            System.out.println("El carro esta frenado");
        }else{
            if(puertas_cerradas == true){
                velocidad -= 10;
                System.out.println("Velocidad actual (despues de frenar): " + velocidad);
            }
        }
    }
    
    public void abrir_puertas(){
        if(puertas_cerradas == true){
            puertas_cerradas = false;
        }
    }
    
    public void cerrar_puertas(){
        if(puertas_cerradas == false){
            puertas_cerradas = true;
        }
    }
}
Clase main

package certification1;

public class Certification1 {
    
    public static void main(String[] args) {
       
        Carro c = new Carro();
        c.cerrar_puertas();
        c.acelerar();
        c.frenar();
    }
}

Para que el programa funcione correctamente en NetBeans es necesario habilitar assertions en la maquina virtual (VM) . Para ello siga los siguiente pasos:

  1. En NetBeans,haga click en la pestaña: Run .
  2. Click en: Set Project Configuration.
  3. Click en: Customize.
  4. Click en: New , digite el nombre: assertion (o cualquier otro) y haga click en Ok .
  5. En la sección VM Option , digite los siguiente: -enableassertions .
  6. Finalmente, seleccione la configuración assertion que acabamos de crear para compilar.

Read more »

Class Ejercicio 3

Problema

En el blog Class Ejercicio 2 se desarrollo la clase Persona con dos variables y un constructor (ambos públicos). Si las variables edad y nombre fueran privadas, ¿ cómo se podría acceder a las variables definidas en la clase ?. Implemente Setters & Getters con la ayuda de NetBeans y de ejemplos de uso.

Solución

NetBeans implemente los Setters y Getters de manera automática.

  1. Ubicarse debajo del constructor de la clase Persona , hacer click derecho.
  2. Buscar la opción: Insert Code (Insertar código en Español).
  3. Seleccionar Setter.
  4. Seleccionar las variables.
  5. Hacer click en Generate .
Seguir los mismos pasos para insertar el código de los Getters y demás.

Clase Persona

package certification1;


public class Persona {
    private int edad;
    private String nombre;
    
    public Persona(int edad, String nombre){
        this.edad = edad;
        this.nombre = nombre;
    }

    public void setEdad(int edad) {
        this.edad = edad;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public int getEdad() {
        return edad;
    }

    public String getNombre() {
        return nombre;
    }
}

Clase main

package certification1;

public class Certification1 {
    
    public static void main(String[] args) {
        Persona p1 = new Persona(35,"Mauricio");
        System.out.println(p1.getNombre() + " tiene: " + p1.getEdad() + " años");
        
        p1.setEdad(37);
        System.out.println(p1.getNombre() + " crecio y ahora tiene: " + p1.getEdad() + " años");
    }
}

Read more »

Class Ejercicio 2

Problema

Repita el ejercicio: Class Ejercicio 1 , empleando un constructor para inicializar las variables: edad, y nombre. Recuerde que dentro del constructor se emplean parámetros y dentro de la clase variables. Por lo tanto, los parámetros que paso dentro del constructor son los valores que se asignan a las variables dentro de la clase. Imprima el nombre de la persona en consola (NO utilice ningún método para este propósito).

Solución

Clase Persona


package certification1;


public class Persona {
    public int edad;
    public String nombre;
    
    public Persona(int edad, String nombre){
        this.edad = edad;
        this.nombre = nombre;
    }
}
Clase main


package certification1;

public class Certification1 {
    
    public static void main(String[] args) {
        Persona p1 = new Persona(35,"Mauricio");
        System.out.println("El nombre es: " + p1.nombre + " y tiene: " + p1.edad + " años.");
    }
}

Java emplea dos tipos de memoria: Stack y Heap . En el Stack se guardan variables locales, sean primitivas o referencias; mientras que el Heap guarda objetos. En castellano, dentro del Stack en el código anterior se guarda: p1; mientras que en el Heap se guardan las variables que tiene p1 (edad y nombre).

Read more »

Class Ejercicio 1

Problema

Implemente una clase en Java de nombre: Persona con las siguientes variables: Nombre y edad. Identifique los tipos a utilizar para cada una de las variables y la forma de inicializarlas en caso de no existir constructor.

Solución

Clase Persona

package certification1;


public class Persona {
    public int age;
    public String name;
}
Clase main

package certification1;

public class Certification1 {
    
    public static void main(String[] args) {
        Persona p1 = new Persona();
        p1.age = 35;
        p1.name = "Mauricio";
    }
}

Identifique, comprenda y diferencie entre: definición, creación y asignación; cuando se hable de clases en java.

Read more »

Monday, July 17, 2017

Ejercicio 12

Problema

Identifique la forma de imprimir los números que no son múltiplos de 2 y 3 en los primeros 20 decimales positivos. Para este propósito identifique como emplear continue .

Solución


package certification1;

public class Certification1 {
    
    public static void main(String[] args) {
        for(int i = 0; i < 20; i++){
            if(i%2==0 || i%3==0){
                continue;
            }
            System.out.println("i: " + i);
        }
    }
}

Read more »

Ejercicio 11

Problema

Identifique como emplear la coma en la inicialización e incremento de varias variables dentro de un bucle for. para dicho propósito, considere:

Implemente un bucle for tal que incremente la variable i de 0 a 10 y al mismo tiempo reduzca la variable j de 10 a 0. Imprima los resultados en consola.

Solución

Dentro de un mismo bucle for se controlan ambas variables. NO es necesario definir dos bucles for. Este apartado se encuentra desarrollado en el capitulo 5 del Manual de Referencia de Java Ed 9.

Método main


package certification1;

public class Certification1 {
    
    public static void main(String[] args) {
        int i, j;
        for (i = 0, j = 10; i < 10; i++, j--) {
            System.out.print("i: " + i);
            System.out.print(", j: " + j);
            System.out.println("");
        }
    }
}

Read more »

Ejercicio 10

Problema

Actualmente se encuentra trabajando en EPM y necesita determinar las subvenciones y los sobre-cargo (si aplica) de la cuenta de los servicios. Para ello considere la siguiente liquidación de la subvención (sobre-cargo):

Estrato Económico Subvención / Sobre-Cargo
1 -40%(personas > 3); -30% (otro)
2 -20% (personas > 3>; -15% (otro)
3 -10%
4 10%
5 20%
6 40%

Desarrollar un programa que pregunte por el monto de la factura. Luego el programa debe identificar si es beneficiario o no de un descuento. Finalmente, el programa debe decir el monto total que debe pagar por concepto de servicios públicos, especificando: monto + subvención (sobre-cargo) en su caso.

Observación: Implemente la solución con Nested if y Nested switch . En el Manual de Referencia de Java Ed 9 (capitulo 5), if y switch se consideran: sentencias de control de selección (selection control statement).

Solución

Únicamente se implemente nested switch .

Clase Subvencion

package certification1;

import java.util.Scanner;

public class Subvencion {
    private static double factura;
    private static int extracto, num_personas;
    private static double descuento;
    private static double neto_pagar;
    private static String text; // Discount or not
    static Scanner read = new Scanner(System.in);
    
    private static void read_Data(){
        System.out.printf("%-20s","Digite el valor de su factura: ");
        factura = read.nextDouble();
        System.out.printf("%-20s""A que extracto pertenece: ");
        extracto = read.nextInt();
        System.out.printf("%-20s","Personas que pertenecen al hogar: ");
        num_personas = read.nextInt();
    }
    
    private static void test(){
        switch(extracto){
            case 1:
                text = "Descuento";
                switch(num_personas){
                    case 1:
                    case 2:
                        descuento = -0.3;
                        break;
                    default:
                        descuento = -0.4;
                        break;
                }
                break;
            case 2:
                text = "Descuento";
                switch(num_personas){
                    case 1:
                    case 2:
                        descuento = -0.15;
                        break;
                    default:
                        descuento = -0.2;
                        break;
                }
                break;
            case 3:
                text = "Descuento";
                descuento = -0.1;
                break;
            case 4:
                text = "Recaudo";
                descuento = 0.1;
                break;
            case 5:
                text = "Recaudo";
                descuento = 0.2;
                break;
            case 6:
                text = "Recaudo";
                descuento = 0.4;
                break;
            default:
                System.out.println("Extracto no existe");
                break;
        }
    neto_pagar = factura*(1+descuento);
    }
    
    private static void Msg_final(){
        System.out.printf("%-20s %-10f \n","Valor de la factura original: ", factura);
        System.out.printf("%-20s %20s \n""Qué aplica ? : ", text);
        System.out.printf("%-20s %-20s \n""Descuento / Recaudo aplicado: ", Math.abs((neto_pagar - factura)) );
        System.out.printf("%-20s %10f \n""Total a pagar: ", neto_pagar);
    }
    
    public static void start(){
        read_Data();
        test();
        Msg_final();
    }
}

Método main

package certification1;

public class Certification1 {
    
    public static void main(String[] args) {
        Subvencion.start();
    }
}

Read more »
Earn free bitcoin