Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Lorenzo31 en 18 de Marzo 2015, 21:10
-
Aquí entrego el ejercicio con dos métodos de calculo, iterativo y recursión, este segundo da bien el resultado pero no sé si es lo que se considraria recursión pues modifico el parametro boolean pasado en un momento dado.
Clase MultiplicadorDieces
public class MultiplicadorDieces{
public MultiplicadorDieces(){
//Nada que inicializar
}
//Metodo 1 iterativo multiplicar dieces
public double multiplicarPorDiez(double valorNumero, int numeroCeros){
int dieces=1;
double resultado=1;
for (int i=1;i<=numeroCeros;i++){
dieces=dieces*10;}
resultado=valorNumero * dieces;
return resultado;
}
// Método recursión
public double recursionMultiplicar(double valorNumero, int numeroCeros){
if (numeroCeros==0){return valorNumero;
} else if (numeroCeros==1){ return valorNumero *10;
} else { return valorNumero * recursionMultiplicar(10, numeroCeros-1);}
}
}
-
Sugerencias? comentarios ? :) quizá usé variables de más y se podia simplificar más? o no afecta.
-
Hola Lorenzo
Ejercicio correcto.
No es malo usar muchas variables si para tí clarifica el código. Aún así, te comprimo el método multiplicarPorDiez
public double multiplicarPorDiez(double valorNumero, int numeroCeros){
int dieces=1;
for (int i=1;i<=numeroCeros;i++){
dieces=dieces*10;}
return valorNumero * dieces;
}
Y en el método recursionMultiplicar le quito la condición else if y funciona igual.
public double recursionMultiplicar(double valorNumero, int numeroCeros){
if (numeroCeros==0){return valorNumero;
} else { return valorNumero * recursionMultiplicar(10, numeroCeros-1);}
}
Saludos
-
Vale genial, resultado no hace falta pq solo lo retornamos no hacemos nada con esa variable.
Y lo otro era una linea redundante, genial, gracias Toni lo tendré presente en el futuro ;)