Estoy en la clase Main y quiero llamar a un metodo de otra clase para un print
Publicado por Jose (1 intervención) el 25/06/2018 23:23:10
Hola!
Necesito una manito de urgencia cualquier ayudar sera agradecida y bienvenida.
Tengo la clase main:
Luego tengo la clase Odontologia:
Luego la clase Paciente:
Y por ultimo la clase Turno:
Ahora bien, vamos al problema:
Me sale el siguiente error en la clase Main:

Es decir, necesito poder llamar de alguna manera el metodo de la clase Paciente. Hay alguna manera de que pueda hacer si sin tener que modificar ninguna linea de las de mas de arriba?
Necesito una manito de urgencia cualquier ayudar sera agradecida y bienvenida.
Tengo la clase main:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
public class PrimerParcial2018TurnoNoche {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Ingrese la cantidad de pacientes");
int cantidadpacientes = sc.nextInt();
Odontologia odo = new Odontologia(cantidadpacientes);
for(int i=0;i<cantidadpacientes;i++)
{
System.out.println("Paciente nro "+i);
System.out.println("Ingrese el nombre del paciente");
String nombre = sc.next();
System.out.println("Ingrese el DNI");
String dni = sc.next();
System.out.println("Ingrese la edad");
int edad= sc.nextInt();
System.out.println("Ingrese 1 si posee obra social y 0 sino");
int obra =sc.nextInt();
boolean obrasocial = false;
if(obra==1) obrasocial=true;
System.out.println("Ingrese la cantidad de turnos");
int turnos = sc.nextInt();
Paciente p = new Paciente(nombre,dni,edad,obrasocial,turnos);
for(int t =0;t<turnos;t++)
{
System.out.println("Turno nro"+t);
System.out.println("Ingrese el tipo de trabajo 1-Limpieza de caries 2-Ortodoncia 3-Tratamiento de conducto");
int tipodetrabajo = sc.nextInt();
System.out.println("Ingrese el monto del trabajo");
float montodetrabajo = sc.nextFloat();
System.out.println("Ingrese 1 si el paciente asistio y 0 sino");
int asis = sc.nextInt();
boolean asistio=false;
if(asis==1)asistio=true;
Turno tu = new Turno(tipodetrabajo,montodetrabajo,asistio);
p.agregarTurno(tu);}
odo.agregarPaciente(p);
}
System . out . println ( " Suma de todas las deudas : $" + p.sumaDineroPerdidoPorInasistencias());
}
}
Luego tengo la clase Odontologia:
1
2
3
4
5
6
7
8
9
10
11
12
public class Odontologia {
private Paciente[]pacientes;
public Odontologia(int cantidadpacientes) {
pacientes=new Paciente[cantidadpacientes];}
public void agregarPaciente(Paciente p)
{for (int i=0;i<pacientes.length;i++)
{if(pacientes[i]==null)
{pacientes[i]=p;
break;}}}
Luego la clase Paciente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
public class Paciente {
private String nombre;
private String dni;
private int edad;
private boolean obrasocial;
private Turno[]turnos;
public Paciente() {
}
public Paciente(String nombre, String dni, int edad, boolean obrasocial,int cantidadturnos) {
this.nombre = nombre;
this.dni = dni;
this.edad = edad;
this.obrasocial = obrasocial;
turnos = new Turno[cantidadturnos];
}
public int cantidadTiposdetrabajo (int tipodetrabajo ) {
int c = 0;
for ( Turno t : turnos ) {
if (t != null && t. getTipodetrabajo () == tipodetrabajo ) {
c ++;
}
}
return c;
}
public void agregarTurno (Turno t)
{for(int i=0;i<turnos.length;i++)
{if(turnos[i]==null)
{turnos[i]=t;
break;}}}
public float sumaDineroPerdidoPorInasistencias () {
float acPrecio = 0;
for ( Turno t : turnos) {
if (t != null && t. isAsistio () == false) {
acPrecio += t. getMontodetrabajo ();
}
}
return acPrecio ;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getDni() {
return dni;
}
public void setDni(String dni) {
this.dni = dni;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
public boolean isObrasocial() {
return obrasocial;
}
public void setObrasocial(boolean obrasocial) {
this.obrasocial = obrasocial;
}
@Override
public String toString() {
return "Paciente{" + "nombre=" + nombre + ", dni=" + dni + ", edad=" + edad + ", obrasocial=" + obrasocial + '}';
}
}
Y por ultimo la clase Turno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public class Turno {
private int tipodetrabajo;
private float montodetrabajo;
private boolean asistio;
public Turno() {
}
public Turno(int tipodetrabajo, float montodetrabajo, boolean asistio) {
this.tipodetrabajo = tipodetrabajo;
this.montodetrabajo = montodetrabajo;
this.asistio = asistio;
}
public int getTipodetrabajo() {
return tipodetrabajo;
}
public void setTipodetrabajo(int tipodetrabajo) {
this.tipodetrabajo = tipodetrabajo;
}
public float getMontodetrabajo() {
return montodetrabajo;
}
public void setMontodetrabajo(float montodetrabajo) {
this.montodetrabajo = montodetrabajo;
}
public boolean isAsistio() {
return asistio;
}
public void setAsistio(boolean asistio) {
this.asistio = asistio;
}
@Override
public String toString() {
return "Turno{" + "tipodetrabajo=" + tipodetrabajo + ", montodetrabajo=" + montodetrabajo + ", asistio=" + asistio + '}';
}
}
Ahora bien, vamos al problema:
Me sale el siguiente error en la clase Main:

Es decir, necesito poder llamar de alguna manera el metodo de la clase Paciente. Hay alguna manera de que pueda hacer si sin tener que modificar ninguna linea de las de mas de arriba?
Valora esta pregunta


0