Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: javalopez en 27 de Mayo 2015, 21:48
-
Buenas tardes, realicé el método solicitado en el ejercicio cu00633b, que resultó en el siguiente código:
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!
-
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
-
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.
-
hola buena noche, espero que esten bien
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);
}
-
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
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:
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:
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.