Título: Ejercicio de métodos que no devuelven el valor al main Publicado por: wung en 28 Diciembre 2018, 12:46 pm Buenas, el tema es que quiero hacer un programa con el que pueda calcular la longitud de una circunferencia cuyo radio se introduce por teclado, y quiero hacerlo usando dos métodos, uno para coger el radio por teclado y otro para hacer la operación del cálculo de la longitud. No soy capaz de hacer que los datos sean devueltos correctamente al método main, el resultado da siempre 0 (es decir el valor con el lo inicializo). Si alguien me explica qué falla lo agradecería, aquí está el código que tengo:
Código
Título: Re: Ejercicio de métodos que no devuelven el valor al main Publicado por: rub'n en 28 Diciembre 2018, 14:57 pm Debes definir variables de clase, que tienen alcance en todo el cuerpo de la clase, tal cual como hiciste con Scanner
Y tú método calcularLongitud te retorna un valor, no lo estas usando... Título: Re: Ejercicio de métodos que no devuelven el valor al main Publicado por: wung en 28 Diciembre 2018, 15:55 pm Hola, gracias por responder.
Vale, he puesto static double radio=0, longitud=0; fuera de main, pero no sé como hacer para usar el valor que retorna calcularLongitud. Mi idea era que al devolver longitud luego la siguiente línea de main lo usara para imprimirla (aunque ahora que lo pienso por ese mismo razonamiento debería haberlo hecho también con radio). He probado haciéndolos ambos void y haciendo que ambos retornen valores pero nada. Título: Re: Ejercicio de métodos que no devuelven el valor al main Publicado por: HardC0d3 en 28 Diciembre 2018, 21:42 pm Citar ...pero no sé como hacer para usar el valor que retorna calcularLongitud. Al llamar al método calcularLongitud, en la línea 8 de tu código, no estás asignando el valor devuelto a ninguna variable. Código
El valor que devuelve el método calcularLongitud lo tienes que guardar/asignar en tu variable longitud Código
A partir de ahí, si la variable longitud es global, podrás usarla en cualquier parte del código. Título: Re: Ejercicio de métodos que no devuelven el valor al main Publicado por: wung en 28 Diciembre 2018, 21:46 pm Entiendo, ya me funciona, muchas gracias!
Título: Re: Ejercicio de métodos que no devuelven el valor al main Publicado por: rub'n en 29 Diciembre 2018, 12:23 pm Entiendo, ya me funciona, muchas gracias! Esta linea también te funcionaba o hacer la asignación con = , pero previamente definiendolas como variables de clase con static para que puedar usarlas en el main (revisa diferencias entre variables de instancia, variables de clase) Código @wung emplea el uso de constructores en vez de hacer toda la lógica en el main doc, y te servirían ambos tipos de variables tanto de clase como de instancia, en este ejemplo no tienes que crear la variables estáticas, aunque también puede hacerlo Código
que tal @HardC0d3, en java no existen variables globales, se les llaman variables de instancia y variables de clase cuando son static |