public class EsercizioProntoSoccorso {
public static void main(String[] args) {
Sportello s = new Sportello();
ProntoSoccorso ps = new ProntoSoccorso();
// genera 100 oggetti Paziente e li avvia
for (int i=0, i<=100, i++){
Paziente p = new Paziente(i,s,ps);
p.static();
}
// genera 4 oggetti Medico e li avvia
for (int =0,i<=4, i++){
Medico m = new Medico(i,s,ps);
m.static();
}
}
}
class Paziente extends Thread {
private ProntoSoccorso ps;
private Sportello s;
private int Id;
public Paziente (String nome,int Id, Sportello s, ProntoSoccorso ps) {
super(nome);
this.Id=Id;
this.ps=ps;
this.s=s;
}
public void run() {
while (true){
s.Accettazione();
ps.SalaAttesa();
s.Statistiche();
}
}
}
class Medico extends Thread {
private ProntoSoccorso ps;
private Sportello s;
private int Id; //Credo che abbia bisogno di int se tu hai scritto "super(nome)" in "public Medico". Dimmi se toglierlo
public Medico(String nome,int Id, Sportello s, ProntoSoccorso ps) {
super(nome);
this.Id=Id;
this.ps=ps;
this.s=s;
}
public void run() {
while(numeroPazienti > 0){
ps.avantiAltro();
sleep(int)((Math.random()* 60000 * 20) + (60000 * 60));
if (numeroPazienti==0){
sleep (60000 * s);
}
}
class ProntoSoccorso {
private Sportello sportello;
// QUI andrebbe anche tenuta la "coda" a priorità
/* non so come fare questa parte */
public ProntoSoccorso() {
sportello = new Sportello();
}
public Sportello getSportello() {
return sportello;
}
public void salaAttesa(Prenotazione prenotazione) {
// ..... Non so fare neanche qui
}
public void avantiAltro() {
// ..... Non so fare neanche qui
}
}
class Sportello {
public Prenotazione accettazione() {
// ..... Non so fare neanche qui
}
// ..... Non so fare neanche qui
}
class Prenotazione {
private final int codiceUrgenza;
public Prenotazione(int codiceUrgenza) {
this.codiceUrgenza = codiceUrgenza;
}
// cosa devo scrivere qui?
}
Andbin ecco il codice. Non so come fare la classe prenotazione (è la stessa cosa con la classe Sportello?) e non riesco a fare la classe ProntoSoccorso