Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problema con metodo

  1. #1
    Utente bannato
    Registrato dal
    Nov 2008
    Messaggi
    9

    Problema con metodo

    ciao non riesco a sviluppare il metodo public static int quantiDipendenti (Dipendente[] dip, String[] luoghi) ora via allego il codice.

    codice:
    /**
      Classe Reparto. Descrive un reparto di azienda.
     */
    
    public class Reparto
    {
    	private String nome; // nome del reparto
    	private String citta; // citta' in cui si trova il reparto
    
    
     /** Costruttore*/
      public Reparto(String n, String c)
      {
    		nome = n;
    		citta = c;
      }
    
      public String getNome ()
      {
    		return nome;
      }
    
      public String getCitta()
      {
    	  return citta;
      }
    
      public String toString()
      {
    	  return " Reparto : " + nome
    		     + "; citta': " + citta;
      }
    
    }
    codice:
    public class EsameDipendente
    {
    	public static void main(String[] args)
    	{
    		// l'array "rep" descrive i dati dei reparti dell'azienda
    		Reparto[] rep = new Reparto[3];
    		rep[0] = new Reparto("personale", "Torino");
    		rep[1] = new Reparto("legale", "Ivrea");
    		rep[2] = new Reparto("stipendi", "Collegno");
    
    		for (int i=0; i<rep.length; i++)
    			System.out.println(rep[i]);
    		System.out.println();
    
    
    		// l'array "dipendenti" descrive i dati di dipendenti d'azienda
    		Dipendente[] dipendenti = new Dipendente[3];
    		dipendenti[0] = new Dipendente("M1234", rep[0]);
    		dipendenti[1] = new Dipendente("M5678", rep[0]);
    		dipendenti[2] = new Dipendente("M9222", rep[1]);
    
    		for (int i=0; i<dipendenti.length; i++)
    			System.out.println(dipendenti[i]);
    		System.out.println();
    
    
    //      L'array di stringhe, chiamato "citta", deve essere riempito
    //		con nomi di citta'.
    		String[] citta = ArrayUtil.readStringArray();
    		ArrayUtil.println(citta);
    		int totaledipendenti = quantiDipendenti (dipendenti, citta);
    		System.out.println ("");
    		System.out.println ("Il totale dei dipendenti che lavorano nella citta` elencate sono:");
    	    System.out.println (totaledipendenti);
    
    
    		/* PER ESAME: invocare il metodo sviluppato qui sotto
    		   e visualizzare a video il risultato
    		   */
    
    		   	int unLavoro = quantiDipendenti(dipendenti, citta);
    		   		if (unLavoro > 0)
    		   			System.out.println("Esiste almeno un cittadino che risiede nelle citta' indicate" + unLavoro);
    		else System.out.println("Non esiste alcun cittadino che risiede nelle citta' indicate");
    
    	} // fine main
    
    
    
    
          Definire il metodo
    
    		public static int quantiDipendenti (Dipendente[] dip, String[] luoghi)
    
    	che restituisce il numero totale di dipendenti memorizzati nell'array "dip"
    	che lavorano in una delle citta' elencate nell'array "luoghi"
    
    	NB: Per valutare la citta' lavorativa di un dipendente, si usi il metodo
    		public String getCittaDiLavoro() {}
    	di Dipendente
    
    */
    	public static int quantiDipendenti (Dipendente[] dip, String[] luoghi)
    	{
    	
    
    	}
    codice:
    /**
      Classe Dipendente. Descrive un dipendente di azienda.
     */
    
    public class Dipendente
    {
    	private String matricola; // matricola del dipendente
    	private Reparto reparto; // reparto in cui il dipendente lavora
    
    
     /** Costruttore*/
      public Dipendente(String m, Reparto r)
      {
    		matricola = m;
    		reparto = r;
      }
    
      public String getMatricola ()
      {
    		return matricola;
      }
    
      public Reparto getReparto()
      {
    	  return reparto;
      }
    
      public String toString()
      {
    	  return " Matricola : " + matricola+ "; reparto: " + reparto;
      }
    
    
    /* sviluppare il metodo
          public String getCittaDiLavoro()
       che restituisce la citta' del reparto in cui il dipendente lavora.
      */
      public String getCittaDiLavoro()
      {
    	return reparto.getCitta();
      }
    
    }

  2. #2
    Da quello che ho capito dalla descrizione dle metodo (che francamente trovo poco chiara) tu dovresti eseguire un ciclo sull'array luoghi. All'interno di questo ciclo esegui un ciclo sull'array dip e verifichi se il metodo dipendenteCorrente.getCittaDiLavoro() ritorna una stringa uguale alla città corrente nel primo ciclo. Nel caso sia uguale incrementi il valore di una variabile int, che sarebbe poi il valore da restituire alla fine dei due cicli for innestati.
    Al mio segnale... scatenate l'inferno!

  3. #3
    Il problema è formulato male,

    dalla signature del tuo metodo non si capisce a cosa deve corrispondere l'int che vuoi ottenere in risposta.

    se vuoi ottenere quanti dipendenti lavorano in un dato luogo devi avere questa signature:
    Codice PHP:
    public static int quantiDipendenti (String luogo
    se vuoi ottenere una lista di quanti dipendenti lavorano in ogni luogo:
    Codice PHP:
    public static Map<StringintquantiDipendenti () 
    dove la chiave (String) sarebbe il nome del luogo e il valore (int) il numero di dipendenti.

    facci sapere quale è più consona al tuo problema,

    Giulio
    http://www.wikijava.org

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.