Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: macarena2405 en 18 de Mayo 2015, 20:43

Título: Java ejemplo clase sin atributos para realizar cálculos Ejercicio CU00644B
Publicado por: macarena2405 en 18 de Mayo 2015, 20:43
Código: [Seleccionar]
public class MultiplicadorDieces {
    public MultiplicadorDieces() {};
   
    public double multiplicarPorDieces (double m,int n){
        int potencia=1;
        double resultado=0;
        for( int i=1; i<=n; i++){
            potencia=potencia*10;}
            resultado=m*potencia;
            return resultado;
        }
 
}


aquí esta la resolución de mi ejercicio, que es parecido pero mas sencillo al de mzamora60 que tenia la duda sobre la precisión del double también tengo el mismo problema, y donde también plantee mi duda con respecto a su ejercicio
Título: Re: Java crear un algoritmo para calculo de potencias de diez Ejercicio CU00644B
Publicado por: RaGa en 18 de Mayo 2015, 22:43
Hola Macarena:

Tu ejercicio está muy bien, y funciona correctamente.
Ya que noto quieres optimización aún más el código, te planteo una alternativa de codificación declarando solo un atributo dentro del método multiplicarPorDieces.
Analízalo, compílalo y cualquier duda acá estamos para ayudarte.

Código: [Seleccionar]
public class MultiplicadorDieces {
    public MultiplicadorDieces() {
    }
   
    public double multiplicarPorDieces (double m,int n){
        double resultado=m;
       
        for( int i=1; i<=n; i++){
            resultado = resultado*10;
        }
       
            return resultado;
    }
 
}


Una observación:
En tu Constructor de clase escribiste.

Código: [Seleccionar]
public MultiplicadorDieces() {};
ese último ";" no es necesario. El compilador no marca error ya que considera que es una línea sin ningúna instrucción.
Equivale a escribir por ejemplo:

Código: [Seleccionar]
public MultiplicadorDieces() {}
//línea que no será tomada en cuenta por el compilador//;

La duda en cuanto a la precisión del tipo double está muy bien explicada en aquí:

https://www.aprenderaprogramar.com/foros/index.php?topic=1972.0

Saludos.