Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    ListIterator???

    Ciao a tutti!!
    Sono alle prime armi con la programmazione orientata agli oggetti ed
    ho una domanda da porvi:
    Se ho una LinkedList di oggetti e voglio verificare che al suo interno sia presente un oggetto con un determinato attributo, devo utilizzare l' interfaccia ListIterator scandendomi la collection oggetto per oggetto e con un if imporre la condizione che mi interessa ??oppure c'è un altro modo più pratico??
    Come esempio vi porto questo pezzo di esercizio:ho una LinkedList riempita con oggetti di tipo "Personale" e devo verificare se fra questi almeno uno svolge un ruolo "amministrativo"..Come mi muovo??Io ho provato a fare così ma non mi funziona:

    codice:
    public static void main(String[] args) {
    Personale pr1=new Personale(01,"docente",50,200);
    Personale pr2=new Personale(02,"amministrativo",60,300);
    Personale pr3=new Personale(03,"docente",50,400);
         LinkedList <Personale> personale=new LinkedList <Personale>();
            personale.add(pr1);
    	personale.add(pr2);
    	personale.add(pr3);
    boolean b=false;
    for(int i=0;i<personale.size();i++){
    Personale pers=personale.get(i);
    if(pers.getRuolo().equals("amministrativo")){
    b=true;
    }
    }
    System.out.println(b);
    }
    Spero possiate aiutarmi!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613

    Re: ListIterator???

    Originariamente inviato da lorenzcollixx
    Ciao a tutti!!
    Sono alle prime armi con la programmazione orientata agli oggetti ed
    ho una domanda da porvi:
    Se ho una LinkedList di oggetti e voglio verificare che al suo interno sia presente un oggetto con un determinato attributo, devo utilizzare l' interfaccia ListIterator scandendomi la collection oggetto per oggetto e con un if imporre la condizione che mi interessa ??oppure c'è un altro modo più pratico??
    Come esempio vi porto questo pezzo di esercizio:ho una LinkedList riempita con oggetti di tipo "Personale" e devo verificare se fra questi almeno uno svolge un ruolo "amministrativo"..Come mi muovo??Io ho provato a fare così ma non mi funziona:

    codice:
    public static void main(String[] args) {
    Personale pr1=new Personale(01,"docente",50,200);
    Personale pr2=new Personale(02,"amministrativo",60,300);
    Personale pr3=new Personale(03,"docente",50,400);
         LinkedList <Personale> personale=new LinkedList <Personale>();
            personale.add(pr1);
    	personale.add(pr2);
    	personale.add(pr3);
    boolean b=false;
    for(int i=0;i<personale.size();i++){
    Personale pers=personale.get(i);
    if(pers.getRuolo().equals("amministrativo")){
    b=true;
    }
    }
    System.out.println(b);
    }
    Spero possiate aiutarmi!!
    A prima vista sembra corretto, posta la classe Personale.

  3. #3
    ecco la classe:
    codice:
    public class Personale {
    private int codice;
    private String ruolo;
    private int costorario;
    private int maxore;
    
    public Personale(int codice, String ruolo, int costorario, int maxore) {
    	this.codice = codice;
    	this.ruolo = ruolo;
    	this.costorario = costorario;
    	this.maxore = maxore;
    }
    
    public int getCodice() {
    	return codice;
    }
    
    public void setCodice(int codice) {
    	this.codice = codice;
    }
    
    public String getRuolo() {
    	return ruolo;
    }
    
    public void setRuolo(String ruolo) {
    	this.ruolo = ruolo;
    }
    
    public int getCostorario() {
    	return costorario;
    }
    
    public void setCostorario(int costorario) {
    	this.costorario = costorario;
    }
    
    public int getMaxore() {
    	return maxore;
    }
    
    public void setMaxore(int maxore) {
    	this.maxore = maxore;
    }
    
    
    
    
    public boolean equals(Object o) {
    	if(o instanceof Personale){
    		Personale p=(Personale)o;
    		return (p.getCodice()==(this.getCodice()));
    	}
    		return false;
    }
    
    @Override
    public String toString() {
    	return "Personale [codice=" + codice + ", costorario=" + costorario
    			+ ", maxore=" + maxore + ", ruolo=" + ruolo + "]";
    }
    
    
    	
    }

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Potresti spiegare cosa intendi per "non funziona"?
    Non ti stampa il dato? Te lo stampa sbagliato? Ottieni un errore? Altro?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Ho copiato ed incollato tutto il codice e funziona, stampa correttamente true...

  6. #6
    Grazie per la disponibilità...Commettevo uno stupido errore io nel lanciare il programma su eclipse..grazie ancora!!!))

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    per sicurezza sarebbe meglio che implementasse anche il metodo hascode:
    solo l'implementazione corretta di hashcode e equals garantisce l'uguaglianza tra due oggetti, non violando il contratto di hashcode (""Equal objects must have equal hash codes"")
    RTFM Read That F*** Manual!!!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.