Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: DRANXZ88 en 24 de Junio 2016, 23:54
-
Propuesta de solución para el ejercicio CU00907C del curso de java avanzado:
Clase principal main
package ejercicioscu00907c;
public class EjerciciosCu00907c {
public static void main(String[] args) {
Calcular calcular = new Calcular();
EntradaDeTeclado entrada = new EntradaDeTeclado();
System.out.println("Por favor introduzca el importe inicial: ");
entrada.Agregar();
double ImporteInicial = Double.valueOf(entrada.getEntrada());
System.out.println("Por favor introduzca el porcentaje de impuestos: ");
entrada.Agregar();
double porcentaje = Double.valueOf(entrada.getEntrada());
calcular.CalcularImporteFinal(ImporteInicial, porcentaje);
}
}
Clase entrada del teclado
Es para gestionar el teclado
package ejercicioscu00907c;
import java.util.Scanner;
public class EntradaDeTeclado {
private String entradaTeclado;
Scanner sc = new Scanner(System.in);
public EntradaDeTeclado() {
entradaTeclado = "";
}
public String Agregar() {
entradaTeclado = sc.nextLine();
return entradaTeclado;
}
public String getEntrada() {
return entradaTeclado;
}
}
Clase calcular
Donde esta el método para calcular el ingreso final.
package ejercicioscu00907c;
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Calcular {
public Calcular() {
}
public void CalcularImporteFinal(double importeInicial, double porcentaje) {
BigDecimal impuesto;
BigDecimal importeFinal;
impuesto = BigDecimal.valueOf((importeInicial * porcentaje) / 100);
impuesto = impuesto.setScale(2, RoundingMode.HALF_UP);
importeFinal = BigDecimal.valueOf(importeInicial).add(impuesto);
importeFinal = importeFinal.setScale(2, RoundingMode.HALF_UP);
System.out.println("El impuesto a pagar es: " + impuesto);
System.out.println("El importe final es: " + importeFinal);
}
}
-
Hola me parece bien la solución y como recomendaciones:
Dar nombres adecuados a las clases. En vez de Calcular que no suena bien "crear un objeto Calcular" podría ser "Calculadora" y así decir "crear un objeto Calculadora"
Si los métodos son para realizar un cálculo diseñarlos como función en lugar de como procedimiento. Por ejemplo public void CalcularImporteFinal(double importeInicial, double porcentaje)
Además un método debe encargarse de algo específico, en este caso si se encarga de hacer los cálculos no debería encargarse de mostrar resultados por pantalla, cada método debe encargarse de cosas independientes, así puedes reutilizar el método en otros programas.
Hasta luego
-
Gracia por tu recomendaciones voy a llevarlos en cuenta para mejorar mi código. Si entiendo así voy a poder usar en otra clase o llamarlo cuando quiera para reutilizarlos gracia. :) :)