Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    E se io tipo ricerco uno specifico utente dato un nome e lo voglio rimuovere o comunque voglio cambiare qualcosa di quell'oggetto lo posso usare anche al di fuori del for? e sempre ricercando appunto questo particolare oggetto non c'è modo di terminare il ciclo quando l'ho trovato?

  2. #12
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da campaenrico Visualizza il messaggio
    E se io tipo ricerco uno specifico utente dato un nome e lo voglio rimuovere o comunque voglio cambiare qualcosa di quell'oggetto lo posso usare anche al di fuori del for? e sempre ricercando appunto questo particolare oggetto non c'è modo di terminare il ciclo quando l'ho trovato?
    Se tu facessi una classe es. InsiemeUtenti (che concettualmente ha anche senso, in generale, e oltretutto potresti incapsulare la logica di gestione dell'insieme lì dentro), potresti fare:

    codice:
    public class InsiemeUtenti {
        private HashSet<Utente> utenti;
    
        // ... costruttore/i, metodi per aggiungere, ecc...
    
        public Utente cercaUtentePerNome(String nome) {
            for (Utente utente : utenti) {
                if (nome.equals(utente.getNome()) {
                    return utente;
                }
            }
            
            return null;  // non trovato
        }
        
        public boolean eliminaUtentePerNome(String nome) {
            Iterator<Utente> it = utenti.iterator();
            while (it.hasNext()) {
                Utente utente = it.next();
                if (nome.equals(utente.getNome()) {
                    it.remove();
                    return true;
                }
            }
            
            return false;  // non trovato
        }
    }
    Ultima modifica di andbin; 19-04-2015 a 11:40
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #13
    Ottima idea veramente, grazie del consiglio adesso mi metto a farlo

  4. #14
    codice:
    public class Biblioteca {
        
        public static void main(String[] args) {
            String titolo, autore, codice;
            Scanner s= new Scanner(System.in);
            InsiemeLibri insl= new InsiemeLibri();
    
    
                        Libro a= new Libro();
                        System.out.println("Inserisci titolo, autore e codice isbn del libro:");
                        titolo= s.next();
                        autore= s.next();
                        codice= s.next();
                        a.setcampi(titolo, autore, codice);
                        insl.inserisciLibro(a);
    }
    
    public class InsiemeLibri {
        HashSet<Libro> libri;
        
        public void InsiemeLibri(){
            libri = new HashSet<>();
        }
        
        public void inserisciLibro(Libro a){
            libri.add(a);
        }

    Mi da questo errore a runtime quando va ad eseguire l'add:

    codice:
    Exception in thread "main" java.lang.NullPointerException
        at GestioneBiblioteca.InsiemeLibri.inserisciLibro(InsiemeLibri.java:19)
        at GestioneBiblioteca.Biblioteca.main(Biblioteca.java:36)
    Java Result: 1

    Sapreste dirmi qual'è l'errore?
    Ultima modifica di LeleFT; 21-04-2015 a 13:27 Motivo: Aggiunti i tag CODE

  5. #15
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da campaenrico Visualizza il messaggio
    codice:
        public void InsiemeLibri(){
            libri = new HashSet<>();
        }
    Classico errore .... questo è un metodo, NON un costruttore. I costruttori non hanno tipo di ritorno.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #16
    giustissimo hahah

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