Hola alex
Tu código funciona bien. Hace lo que se pide en el ejercicio.
El ejercicio que he hecho yo, es distinto pero da el mismo resultado que tu código.
Inciso
Me he puesto a pensar, y digo: Yo uso BlueJ para hacer los ejercicios. Si usas otro IDE, en estos ejercicios simples no se obtiene la misma respuesta.
Habría que incluir más código para mostrar el resultado final (que tu no muestras en tu mensaje)
Y estos ejercicios, están diseñados para practicarlos en BlueJ por que es un Entorno de Desarrollo Integrado pensado para aprendizaje de java.
Lo que te pasa de que no te gusta, o no entiendes lo que hace tu programa, me ha pasado a mi otras veces.
Y la solución que encontré, fue: Repasar el código punto por punto hasta comprender cada línea para finalmente tener claro el conjunto del código, mas que nada para descansar el coco, y también para poder aplicar lo que has hecho en otros programas.
Y es que tu clase tienen código enrevesado, es difícil de seguir. Supongo que cada persona, ve el problema desde un lado y con ese punto de vista le busca la solución.
Si esta solución se hace difícil, intenta otro punto de vista para solucionar el problema. Generalmente leyendo las lecciones del curso, se dan pistas y se muestra código nuevo para nosotros que deberíamos entender (y sino lo preguntamos) para aplicar esos conocimientos en nuestros programas.
Te incluyo mi código. Repito, para los mismos parámetros da lo mismo tu código y el mio (en BlueJ)
public class MultiplicadorDieces {
public MultiplicadorDieces() {
// nada
} // Fin del constructor MultiplicadorDieces
// Multiplica <factor> por (10 elevado a <potencia>)
public double multiplicarPorDieces (double factor, int potencia) {
return factor * potenciaDeDiez ( potencia ) ;
}
// Eleva 10 a la potencia del parámetro <valorPotencia>
private int potenciaDeDiez ( int valorPotencia ) {
int resultado = 1;
for ( int i = 1; i <= valorPotencia; i++ ) {
resultado = resultado * 10;
}
return resultado;
}
} // Fin de la clase MultiplicadorDieces
Saludos