Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: kskpluss en 18 de Mayo 2016, 19:31
-
BUENAS TARDES, Soy nuevo en esto de programar, estoy teniendo problemas con este ejercicio del curso de programación Java, no logro darme cuenta que fue lo que omití podrían ayudarme?
/*programa para reportar mediante consola cuantos años le falta a un medico para que su edad llegue a ser múltiplo de 5.
*/
//creacion de la clase
public class Medicos{
private int edad;
private String apellido;
private String nombre;
private String dni;
private String casado;
private String especialidad;
//construccion
public Medicos(){
edad=0;
apellido="";
nombre="";
dni="";
casado="";
especialidad="";
}//cierre de la construccion
//Metodos para establecer los parametros
public void setEdad(int valorEdad){
edad = valorEdad;
}
public void setNombre(String valorNombre){
nombre = valorNombre;
}
public void setApellido(String valorApellido){
apellido = valorApellido;
}
public void setDni(String valorDni){
dni = valorDni;
}
public void setCasado(String valorCasado){
casado = valorCasado;
}
public void setEspecialidad(String valorEspecialidad){
especialidad = valorEspecialidad;
}
//cierre de los metodos
//metodos para obtener los parametros
public int getEdad(){
return edad; }
public String getApellido(){
return apellido; }
public String getNombre(){
return nombre; }
public String getDni(){
return dni; }
public String getCasado(){
return casado;}
public String getEspecialidad(){
return especialidad;}
//cierre de los metodos
//Metodo para que el calculo salga en pantalla de consola al solicitarlo
public class CalculoMedico{
public String resultado(String dimeUnString){
System.out.println("El medico de nombre" + getNombre() + "con especialidad en" + getEspecialidad() + "tendrà una edad mùltiplo de 5 dentro de" + (5-(getEdad()%5)) + "años");
return dimeUnString;}
}
}
-
disculpen, anteriormente puse el encabezado del ejercicio incorrecto, ya esta modificado.
-
Solo un consejo para ser mas atendible podes leer esto para mejorar tu publicación en los foro.
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 (https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0)
-
gracias por el consejo, lo leeré detenidamente!
Saludos!
-
Este ejercicios es del CU00633b
EJERCICIO
Define una clase Medico considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), numeroDocumentoIdentidad (String), especialidad (String). Define un constructor asignando unos valores de defecto a los atributos y los métodos para poder establecer y obtener los valores de los atributos. Define un método de nombre “calculoParaMultiploEdad” que no recibe parámetros y es tipo procedimiento cuyo cometido será el siguiente: determinar cuántos años faltan para que la edad del médico sea múltiplo de 5 y mostrar un mensaje informativo por pantalla. Por ejemplo si el médico tiene 22 años deberá en primer lugar obtener el resto de la división de 22 entre 5, que es 2. Ahora obtendrá los años que faltan para que el médico tenga una edad múltiplo de 5, que serán 5-2 = 3 años. A continuación deberá mostrar un mensaje por consola del tipo: “El médico de nombre … con especialidad … tendrá una edad múltiplo de 5 dentro de … años”. Compila el código para comprobar que no presenta errores, crea un objeto, usa sus métodos y comprueba que aparezcan correctamente los mensajes por consola, y que cuando cambias la edad aparece correctamente el tiempo que falta para que la edad sea múltiplo de 5. Para comprobar si es correcta tu solución puedes consultar en los foros aprenderaprogramar.com.
Defina una clase medico con todo su atributos he visto que eso esta bien excepto por este
private String casado; tiene que ser de tipo boleano private Boolean casado;
Dice que defina un método Define un método de nombre “calculoParaMultiploEdad” que no recibe parámetros
Y vos definiste una clase eso es un error
public class CalculoMedico{
public String resultado(String dimeUnString){
System.out.println("El medico de nombre" + getNombre() + "con especialidad en" + getEspecialidad() + "tendrà una edad mùltiplo de 5 dentro de" + (5-(getEdad()%5)) + "años");
return dimeUnString;}
}Para tener una idea el método seria como este.
public void calculoParaMultiploEdad() {
int x = edad % 5;
int r = 5 - x;
if (r != 5) {
System.out.println("El médico de nombre " + nombre + " con especialidad " + especialidad
+ " tendra una edad multiplo de 5 dentro de " + r + " años");
} else {
System.out.println("El médico de nombre " + nombre + " con especialidad " + especialidad
+ " tiene ahora mismo una edad de multiplo de 5");
}
}
Te voy a poner el código completo para poder guiarte y estudiar
Clase principal main para que se ejecute es por el IDE que estoy usando es para imprimir o mostrar por pantalla
package pruebamedico;
public class PruebaMedico {
public static void main(String[] args) {
Medicos medico = new Medicos();
medico.calculoParaMultiploEdad();
}
}
Este es la clase médicos donde están los atributos y los métodos
package pruebamedico;
public class Medicos {
private int edad;
private String apellido;
private String nombre;
private String dni;
private Boolean casado;
private String especialidad;
//constructor
public Medicos() {
edad = 28;
apellido = "Rivero";
nombre = "Juan";
dni = "56756756";
casado = true;
especialidad = "";
}//cierre de la constructor
public void setEdad(int valorEdad) {
edad = valorEdad;
}
public void setNombre(String valorNombre) {
nombre = valorNombre;
}
public void setApellido(String valorApellido) {
apellido = valorApellido;
}
public void setDni(String valorDni) {
dni = valorDni;
}
public void setCasado(Boolean valorCasado) {
casado = valorCasado;
}
public void setEspecialidad(String valorEspecialidad) {
especialidad = valorEspecialidad;
}
public int getEdad() {
return edad;
}
public String getApellido() {
return apellido;
}
public String getNombre() {
return nombre;
}
public String getDni() {
return dni;
}
public Boolean getCasado() {
return casado;
}
public String getEspecialidad() {
return especialidad;
}
//Metodo para que el calculo salga en pantalla de consola al solicitarlo
public void calculoParaMultiploEdad() {
int x = edad % 5;
int r = 5 - x;
if (r != 5) {
System.out.println("El médico de nombre " + nombre + " con especialidad " + especialidad
+ " tendra una edad multiplo de 5 dentro de " + r + " años");
} else {
System.out.println("El médico de nombre " + nombre + " con especialidad " + especialidad
+ " tiene ahora mismo una edad de multiplo de 5");
}
}
//cierre de los metodos
}
Podes probar cambiando los valores.
-
dranxz88 muchas gracias, ya he corregido los errores del programa y funciona perfectamente, fue de gran ayuda tu explicación.
-
Hola pues la forma que quedaría seria asi
//EN MAIN
public class PruebaMedico {
public static void main(String[] args) {
Medicos medico = new Medicos();
medico.calculoParaMultiploEdad();
}
//CLASE
public class Medicos {
private int edad;
private String apellido;
private String nombre;
private String dni;
private Boolean casado;
private String especialidad;
public Medicos() {
edad = 28;
apellido = "Rivero";
nombre = "Juan";
dni = "56756756";
casado = true;
especialidad = "";
}
public void setEdad(int valorEdad) {
edad = valorEdad;
}
public void setNombre(String valorNombre) {
nombre = valorNombre;
}
public void setApellido(String valorApellido) {
apellido = valorApellido;
}
public void setDni(String valorDni) {
dni = valorDni;
}
public void setCasado(Boolean valorCasado) {
casado = valorCasado;
}
public void setEspecialidad(String valorEspecialidad) {
especialidad = valorEspecialidad;
}
public int getEdad() {
return edad;
}
public String getApellido() {
return apellido;
}
public String getNombre() {
return nombre;
}
public String getDni() {
return dni;
}
public Boolean getCasado() {
return casado;
}
public String getEspecialidad() {
return especialidad;
}
public void calculoParaMultiploEdad() {
int x = edad % 5;
int r = 5 - x;
if (r != 5) {
System.out.println("El médico de nombre " + nombre + " con especialidad " + especialidad
+ " tendra una edad multiplo de 5 dentro de " + r + " años");
} else {
System.out.println("El médico de nombre " + nombre + " con especialidad " + especialidad
+ " tiene ahora mismo una edad de multiplo de 5");
}
}
}
-
Hola DIANA KARINA para publicar tu pregunta o duda en el foro debe crear un nuevo tema es decir otro hilo para poder ayudarte mejor y para ser mas ordenado.
Podes leer este link donde te explicara como publicar en el foro.
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 (https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0)
Saludos. :) :) :) :)
-
Así se quedaría hay otra forma de resolver mas bien la parte logica nomas lo que cambia pero eso es una de la forma DIANA.