Aiuto esercizio

di il
13 risposte

Aiuto esercizio

Salve e scusate se chiedo sempre. purtroppo sono lasciato un po a me stesso senza un tutur che mi aiuti.
Sto affrontando le collection e mi sono imbattuto in questo esercizio.
Un’azienda sanitariadesidera creare un archivio elettronico per lagestione dei propri medici di base e delle liste dei relativi pazienti.Si realizzi:•una classeMedicoavente un nominativo con i relativi metodigetter/setter•una classePazienteavente un numero (intero) di tesserasanitaria ed un riferimento al proprio medico curante, con irelativi metodi getter/setter•una classeAziendaSanitariaavente una lista dei proprimedicidi base e una lista dei relativipazienti
fino a questi ci sono e ho svolto quello che mi chiede.

invece questi due punti non riesco proprio a farli:
La classeAziendaSanitariaha i seguenti metodi:•aggiungiPazienteche prende in ingresso un numero ditessera sanitaria e un medico curante, crea l’istanza dellaclassePazientee inserisce il paziente nella lista di pazienti. Ilmetodo deve restituire un valore booleano che attestil’avvenuto inserimento del paziente. L’inserimento andr`a abuon fine solo se il medico curante `e presente nella lista deimedici relativi all’azienda sanitaria. Inoltre verificare che nonci siano pazienti duplicati (controllo sul numero di tesserasanitaria).
•aggiungiMedicoche prende in ingresso un medico e loinserisce nella lista di medici. Il metodo deve restituire unvalore booleano che attesti l’avvenuto inserimento del medico.Verificare che non ci siano medici duplicati.•listaMedicorestituisce una lista con tutti e soli i pazienti chehanno il medico passato come parametro•statMedicorestituisce il medico avente il maggior numero dipazientiN.B.Si faccia utilizzo degli iteratori.
Si realizzi infine un main di prova che verifichi il funzionamento ditutti i metodi della classeAziendaSanitaria

Grazie a chi mi aiuterà

13 Risposte

  • Re: Aiuto esercizio

    Perché non provi a buttare giù qualcosa?

    Non attendere il codice pronto degli altri, non impari nulla.
  • Re: Aiuto esercizio

    oregon ha scritto:


    Perché non provi a buttare giù qualcosa?

    Non attendere il codice pronto degli altri, non impari nulla.
    ci sto provando ma nulla
  • Re: Aiuto esercizio

    Vediamo le prove. La "pappa pronta" è vietata dal regolamento.
  • Re: Aiuto esercizio

    Salve,
    non mi sembra una cosa molto complessa.
    -Cos'è che, nello specifico, non riesci a fare?
    -Hai provato a buttare giù qualche linea di codice?
    -Che errore ti dà?
  • Re: Aiuto esercizio

    Puoi riscrivere in modo che si legge decentemente?
    Annotando ogni metodo

    Grazie
  • Re: Aiuto esercizio

    SuperKay, leggere quello che scrivi (senza spazi e punteggiatura) è faticoso, non invogli certamente ad aiutarti chi prova a leggerti
  • Re: Aiuto esercizio

    La classeAziendaSanitariaha i seguenti metodi:•aggiungiPazienteche prende in ingresso un numero ditessera sanitaria e un medico curante, crea l’istanza dellaclassePazientee inserisce il paziente nella lista di pazienti. Ilmetodo deve restituire un valore booleano che attestil’avvenuto inserimento del paziente. L’inserimento andr`a abuon fine solo se il medico curante `e presente nella lista deimedici relativi all’azienda sanitaria. Inoltre verificare che nonci siano pazienti duplicati (controllo sul numero di tesserasanitaria).
    package test8;

    import java.util.ArrayList;

    public class AziendaSanitaria {

    public ArrayList<Medico> medici;
    public ArrayList<Paziente> pazienti;
    {
    medici=new ArrayList<Medico>();
    pazienti=new ArrayList<Paziente>();
    }

    public void aggPaziente(int tesseraSanitaria, Medico medicoCurante)
    {
    pazienti.add(new Paziente(tesseraSanitaria, medicoCurante));

    }

    }

    sono messo cosi
  • Re: Aiuto esercizio

    Puoi scrivere meglio?

    La classeAziendaSanitariaha i seguenti metodi:•aggiungiPazienteche prende in ingresso un numero ditessera sanitaria e un medico curante, crea l’istanza dellaclassePazientee inserisce il paziente nella lista di pazienti. Ilmetodo deve restituire un valore booleano che attestil’avvenuto inserimento del paziente. L’inserimento andr`a abuon fine solo se il medico curante `e presente nella lista deimedici relativi all’azienda sanitaria. Inoltre verificare che nonci siano pazienti duplicati (controllo sul numero di tesserasanitaria).
  • Re: Aiuto esercizio

    robot ha scritto:


    Puoi scrivere meglio?

    La classeAziendaSanitariaha i seguenti metodi:•aggiungiPazienteche prende in ingresso un numero ditessera sanitaria e un medico curante, crea l’istanza dellaclassePazientee inserisce il paziente nella lista di pazienti. Ilmetodo deve restituire un valore booleano che attestil’avvenuto inserimento del paziente. L’inserimento andr`a abuon fine solo se il medico curante `e presente nella lista deimedici relativi all’azienda sanitaria. Inoltre verificare che nonci siano pazienti duplicati (controllo sul numero di tesserasanitaria).
    La classe AziendaSanitaria ha i seguenti metodi:
    aggiungiPaziente che prende in ingresso un numero di tessera sanitaria e un medico curante, crea l’istanza della classe Paziente e inserisce il paziente nella lista di pazienti. Il metodo deve restituire un valore booleano che attesti l’avvenuto inserimento del paziente. L’inserimento andr`a abuon fine solo se il medico curante `e presente nella lista dei medici relativi all’azienda sanitaria. Inoltre verificare che non ci siano pazienti duplicati (controllo sul numero di tessera sanitaria)

    scusate facendo il copia e in colla del testo non mi sono reso contento che aveva fatto tutto attaccato, ora è scritto in maniera corretta
  • Re: Aiuto esercizio

    Io comincerei col leggere la consegna e, di conseguenza, scrivere le firme dei metodi come le vuole lei.
    Il metodo deve restituire un valore booleano
    Se il metodo deve restituire un booleano non sarà void... giusto?
  • Re: Aiuto esercizio

    SuperKay ha scritto:


    scusate facendo il copia e in colla del testo non mi sono reso contento che aveva fatto tutto attaccato, ora è scritto in maniera corretta
    Questo dice molto sull'attenzione che presti alla spiegazione del problema ed al suo svisceramento
  • Re: Aiuto esercizio

    In colla
    non mi sono reso contento

    Eh sì, non rileggi quello che scrivi ...
  • Re: Aiuto esercizio

    L'esercizio è quasi completo, ovviamente ci sono errori nel codice.
    Il procedimento da seguire:
    1. Capire il codice
    2. Fai il Debug

    Una volta che hai risolto, pubblica di nuovo il codice e devi spiegare come hai trovato la soluzione giusta.

    Azienda Sanitaria:
    
    package azienda.sanitaria;
    
    import java.util.ArrayList;
    
    public class AziendaSanitaria {
    
    	private ArrayList<Medico> medici;
    	private ArrayList<Pazienti> pazienti;
    
    	public AziendaSanitaria(ArrayList<Medico> medici, ArrayList<Pazienti> pazienti) {
    		this.medici = medici;
    		this.pazienti = pazienti;
    	}
    
    	public AziendaSanitaria() {
    		medici = new ArrayList<>();
    		pazienti = new ArrayList<>();
    	}
    
    	public ArrayList<Medico> getMedici() {
    		return medici;
    	}
    
    	public void setMedici(ArrayList<Medico> medici) {
    		this.medici = medici;
    	}
    
    	public ArrayList<Pazienti> getPazienti() {
    		return pazienti;
    	}
    
    	public void setPazienti(ArrayList<Pazienti> pazienti) {
    		this.pazienti = pazienti;
    	}
    
    	public boolean aggiungiPaziente(int numeroTesseraSanitaria, Medico medico) {
    		boolean controllo = true;
    
    		// Aggiungi Paziente
    		if (controllo) {
    			if((controllaMedico(medico) == true) && (Pazientiduplicati(numeroTesseraSanitaria) == true)) {
    				System.out.println("Il medico è presente nella lista");
    				System.out.println("Valori non duplicati");
    			}
    			System.out.println("Il Paziente è inserito nella lista Medici!");
    			pazienti.add(new Pazienti(medico));
    			
    		} else {
    			controllo = false;
    			System.out.println("Il Paziente non è inserito nella lista Medici!");
    		}
    		return controllo;
    	}
    
    	// Verifica il Medico se è presente nella lista
    	public boolean controllaMedico(Medico medico) {
    		for (int i = 0; i < medici.size(); i++) {
    			if (medici.get(i).getMatricolaMedico() == medico.getMatricolaMedico())
    				return true;
    			else {
    				System.out.println("Il Medico non è presente nella lista");
    			}
    		}
    		return false;
    	}
    
    	// Verifica Pazienti duplicati
    	public boolean Pazientiduplicati(int numeroTesseraSanitaria) {
    		Pazienti mPazienti = new Pazienti();
    		mPazienti.setTesseraSanitaria(numeroTesseraSanitaria);
    		
    		for (Pazienti pazienti : pazienti) {
    			if (pazienti.getTesseraSanitaria() == mPazienti.getTesseraSanitaria()) {
    				return false;
    			} else {
    				System.out.println("Il paziente non è presente nella lista");
    				break;
    			}
    		}
    		return true;
    	}
    
    	// Aggiungi Medico
    	public boolean aggiungiMedico(Medico medico) {
    		boolean controllo = true;
    
    		// Aggiungi Medico
    		if (controllo) {
    			if(mediciDuplicati(medico.getMatricolaMedico())) {
    				System.out.println("Medico: Valore duplicato");
    				System.exit(1);
    			}
    			medici.add(medico);
    			System.out.println("Il Medico è inserito nella lista!");
    		} else {
    			controllo = false;
    			System.out.println("Il Medico non è inserito nella lista!");
    		}
    		return controllo;
    	}
    
    	// Verifica Medici duplicati
    	public boolean mediciDuplicati(int matricolaMedico) {
    		for (Medico medico : medici) {
    			if (medico.getMatricolaMedico() == matricolaMedico) {
    				return true;
    			} else
    				System.out.println("Valore non duplicato");
    		}
    		return false;
    	}
    
    	// Lista Medici per Pazienti
    	public void listaMedici(Medico mioMedico) {
    		for (int i = 0; i < pazienti.size(); i++) {
    			if(pazienti.get(i).getMedico().equals(mioMedico)) {
    				System.out.println("Lista Pazienti: " + pazienti.get(i).getTesseraSanitaria());
    			}
    			else 
    				System.out.println("Nessuna Lista Presente!!");
    		}
    
    	}
    	
    	//Medici con Maggior Numero di Pazienti
    	public void statMedico(ArrayList<Medico> mListmedico) {
    		int max = 0;
    		
    		for (int i = 0; i < pazienti.size(); i++) {
    			if(pazienti.get(i).getMedico().equals(mListmedico))
    				max = pazienti.get(i).getTesseraSanitaria();
    		}
    		
    		System.out.println("Num.Pazienti: " + max);
    	}
    }
    
    
    
    
    Medico:
    
    package azienda.sanitaria;
    
    public class Medico {
    
    	private String nomeMedico;
    	private String cognomeMedico;
    	private int matricolaMedico;
    	
    	public Medico(String nomeMedico, String cognomeMedico, int matricolaMedico) {
    		this.nomeMedico = nomeMedico;
    		this.cognomeMedico = cognomeMedico;
    		this.matricolaMedico = matricolaMedico;
    	}
    	
    	public Medico() {
    		this.nomeMedico = "";
    		this.cognomeMedico = "";
    		this.matricolaMedico = 0;
    	}
    
    	public String getNomeMedico() {
    		return nomeMedico;
    	}
    
    	public void setNomeMedico(String nomeMedico) {
    		this.nomeMedico = nomeMedico;
    	}
    
    	public String getCognomeMedico() {
    		return cognomeMedico;
    	}
    
    	public void setCognomeMedico(String cognomeMedico) {
    		this.cognomeMedico = cognomeMedico;
    	}
    
    	public int getMatricolaMedico() {
    		return matricolaMedico;
    	}
    
    	public void setMatricolaMedico(int matricolaMedico) {
    		this.matricolaMedico = matricolaMedico;
    	}
    	
    	
    	
    	
    	
    	
    }
    
    
    
    Pazienti:
    
    package azienda.sanitaria;
    
    public class Pazienti {
    
    	private int tesseraSanitaria;
    	private Medico medico;
    	
    	public Pazienti(int tesseraSanitaria, Medico medico) {
    		this.tesseraSanitaria = tesseraSanitaria;
    		this.medico = medico;
    	}
    	
    	public Pazienti() {
    		this.tesseraSanitaria = 0;
    		this.medico = new Medico();
    	}
    	
    	public Pazienti(Medico medico) {
    		this.medico = medico;
    	}
    
    	public int getTesseraSanitaria() {
    		return tesseraSanitaria;
    	}
    
    	public void setTesseraSanitaria(int tesseraSanitaria) {
    		this.tesseraSanitaria = tesseraSanitaria;
    	}
    
    	public Medico getMedico() {
    		return medico;
    	}
    
    	public void setMedico(Medico medico) {
    		this.medico = medico;
    	}
    	
    	
    	
    	
    }
    
    
Devi accedere o registrarti per scrivere nel forum
13 risposte