Autor Tema: Java ¿se puede llamar a un método desde otro método? Ejercicio CU00633B tutorial  (Leído 4247 veces)

javalopez

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 19
    • Ver Perfil
Buenas tardes, realicé el método solicitado en el ejercicio cu00633b, que resultó en el siguiente código:

Código: [Seleccionar]
    public void calculoParaMultiploEdad(){
        int faltante = 0;
        int resto = 0;
        int multiplo = 5;
        resto = edad % 5;
        faltante = multiplo - resto;
        System.out.println("El médico de nombre "+ nombre +" con especialidad "+ especialidad +" tendra una edad múltiplo de 5 dentro de "+ faltante +" años");   
    }

Este método lo incerté en la Clase Medico del ejercicio anterior, mi pregunta es, se puede hacer una llamada a este procedimiento desde otro procediemiento? por ejemplo, desde el que me permite ingresar la edad?.

Gracias!

Gracias!
« Última modificación: 28 de Mayo 2015, 08:15 por Alex Rodríguez »

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:Metodo ejercicio CU00633B
« Respuesta #1 en: 27 de Mayo 2015, 22:52 »
Se puede hacer pero tenes los getter y setter para asignar y recuperar los valores y isa crear un nuevo medico y asignarle valor a cada medico con set. Pero si quiere ingresar por teclado tenes que usar las clase scanner.
PERO NO TE APURE TODO LO VERAS MAS ADELANTE PASO POR PASO ES MEJOR

RaGa

  • Moderador Global
  • Intermedio
  • *******
  • APR2.COM
  • Mensajes: 234
    • Ver Perfil
Re:Metodo ejercicio CU00633B
« Respuesta #2 en: 28 de Mayo 2015, 01:54 »
Un método puede llamar a otro método? Si, eso es posible. Sin embargo ten en cuenta a estas alturas del curso lo siguiente: en programación orientada a objetos cada método tendrá una tarea bien definida y específica.

Fíjate lo que sucede por ejemplo en este ejercicio. Tomemos por ejemplo el método setNombre(String valorNombre). Este método tiene como tarea establecer el nombre del objeto tipo Medico con el valor que se pasa como argumento, y nada más que eso. Su tarea es bien definida y específica.
Lo mismo sucede con el método getEspecialidad(). Su tarea consiste en devolver un atributo tipo String que contiene la especilidad de ese objeto. Una vez más, la tarea es bien definida y específica.

En lo que propones de definir un método que pida la edad, y dentro de él llamar al método que calcula los años que restan para un número múltiplo de 5, a simple vista diríamos que no, debería existir un método que pida la edad, y otro método diferente que calcule el múltiplo de edad. Es decir dos métodos donde cada uno de ellos tenga una tarea específica.
Luego sobre ese objeto invocaremos uno u otro método, o uno a continuación del otro, según las necesidades que tengamos, pero ambos métodos deberán ser independientes.

ronal.d87

  • Principiante
  • **
  • Mensajes: 72
    • Ver Perfil
hola buena noche, espero que esten bien

Código: [Seleccionar]
public void setCalculoParaMultiploEdad(){
        int modulo,resultado,falta;
        modulo = 5;
       
        resultado = edad % modulo;
        System.out.println(resultado);
        falta = modulo - resultado;
        System.out.println("El médico de nombre"+ nombre + "con especialidad"
                +especialidad+"tendrá una edad múltiplo de 5 dentro de años en"+falta);
    }
« Última modificación: 03 de Junio 2015, 09:04 por Alex Rodríguez »
Ronald Mosquera Mancilla

RaGa

  • Moderador Global
  • Intermedio
  • *******
  • APR2.COM
  • Mensajes: 234
    • Ver Perfil
Hola Ronald!

Antes de meternos directamente con el código que has publicado quisiera pedirte lo siguiente:
Cuando quieras poner en los foros tu solución para un ejercicio crea un Nuevo Tema. De ese modo mantenemos más ordenado el foro evitando mezclar respuestas de personas distintas en un mismo hilo.
¿Cómo hacer para crear un Nuevo Tema?. Una vez que te logueas en el foro, entras en "Aprender a programar desde cero", y haz click en "NUEVO TEMA".
No olvides de escribir en el título del nuevo tema a qué ejercicio se refiere tu publicación.

En otro orden de cosas (pero también por cuestiones de orden), cuando publiques los códigos, asegúrate que el código vaya entre las etiquetas [ code ] [ /code ] .
Puedes leer este link https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 donde se explica muy bien cómo realizar una publicación en el foro.

Ahora sí, vayamos al código que has enviado.
El método funciona muy bien!
Igualmente podríamos realizar algunas modificaciones para mejorarlo aún más:

A la línea
 
Código: [Seleccionar]
System.out.println(resultado);
la deberías eliminar, así no mostramos por consola nuestros cálculos intermedios.
Y como un dato "cosmético" pero no así menos importante, fijate en la siguiente línea que has escrito tu:

Código: [Seleccionar]
System.out.println("El médico de nombre"+ nombre + "con especialidad"
                +especialidad+"tendrá una edad múltiplo de 5 dentro de años en"+falta);

y la modificación que te sugiero realices:

Código: [Seleccionar]
System.out.println("El médico de nombre "+ nombre + " con especialidad "
                +especialidad+" tendrá una edad múltiplo de 5 dentro de años en "+falta);

la diferencia son los espacios que insertamos de tal manera que a la hora que el texto se imprima por consola se leea correctamente sin que las palabras estén encimadas.
La misma modificación deberías realizar en los otros métodos de la clase Medico que impriman por consola.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".