Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: umadara en 29 de Junio 2016, 20:38
-
Hola aquí mi resultado para el ejercicio CU00644B del tutorial de programación java para principiantes:
public class MultiplicadorDieces {
//constructor
public void multiplicadorDieces () {
}
//metodo iteración
public double multiplicadorDieces (double n, int base10) {
for(int i = 0; i < base10; i++) {
System.out.println("valir de n = " + i);
n = n * 10;
}
return n;
}
//metodo recursión
public int potenciaConRecursion (int m, int n) {
System.out.println("valir de n = " + n);
if (n==0) { return m;
} else {
return 10 * potenciaConRecursion (m, --n);
} //Cierre del método
}
}un saludo
-
No es necesario crear dos métodos.
Define una clase denominada multiplicadorDieces con un constructor vacío y que contenga un método denominado multiplicarPorDieces que reciba dos parámetros: el primero un número de tipo double y el segundo un número de tipo entero. El método debe devolver el resultado de multiplicar por 10 elevado al segundo número el primer número. Ejemplo: multiplicarPorDieces (2.55, 2) devuelve 2.55*100 = 255. multiplicarPorDieces (3, 5) devuelve 3*100000 = 300000. MultiplicarPorDieces (-0.0563, 3) devuelve -0.563 * 1000 = -56.3. Crea un objeto y comprueba que el método opera correctamente. Para comprobar si es correcta tu solución puedes consultar en los foros aprenderaprogramar.com.
Definiste la clase correctamente creaste un constructor vació esta bien, el problema esta en que tenes que crear un método que se llame multiplarPorDieses.
Vos creaste un método pero le falta alguna lógica para que cumpla lo que dice el ejercicios.
//metodo iteración
public double multiplicadorDieces (double n, int base10) {
for(int i = 0; i < base10; i++) {
System.out.println("valir de n = " + i);
n = n * 10;
}
return n;
}Con alguna modificacion quedaria asi.
public double multiplicadorPorDieces(double m, int n) {
int x = 1;
double resultado;
for (int i = 0; i < n; i++) {
x = x * 10;
}
resultado = m * x;
return resultado;
} //Cierre del métodoEl ultimo método que creaste ya no es necesario. Espero que te ayude.
-
Hola, gracias por tu respuesta, lo hice por los 2 métodos ya que son los 2 métodos que se mostraban en la lección. Creo que no entendiste bien lo que pretendo hacer con el método de iteración ya que funciona perfectamente. Lo que hago es multiplicar n x 10 m veces, que es lo mismo que hacer 10 x 10 m veces y luego multiplicar por n, corrígeme si estoy equivocado. El segundo método también funciona, si pudieses probarlo y confirmarme que no estoy equivocado, estaría muy agradecido.
un saludo.
-
Entendiste mal parece solo pide un método que se llama multiplicarPorDieces y tiene que recibir dos valor. Ejemplo
multiplicarPorDieces (2.55, 2).
En tuyo cuando instancia y crea el objeto y le pasa el valor no hace lo que pide porque tenes otro objeto es decir que solo tenes que crear un objeto y cargar los valores y al ejecutar te tiene que imprimir lo que pide.
-
Hola umadara, tu método multiplicadorDieces cumple con lo que pedía el ejercicio. En cambio el método potenciaConRecursion no, ya que el ejercicio pedía que se recibiera un double y un int y ese método recibe dos int. El ejercicio puede resolverse con recursión si se quiere, pero es un poco más complejo.
La forma planteada por DRANXZ88 es otra forma de plantear la solución para este ejercicio.
Saludos