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

    [JAVA] Classe Car + Collection

    Ciao ragazzi, ho bisogno di aiuto in questa classe....
    A chiunque mi aiuterà ve ne sarò per sempre grati (è da 3 giorni che sono bloccato!).
    codice:
    class Car implements CarElement {
        ArrayList<CarElement>lista;
        
        public Car() {
            //create new ArrayList of CarElement
            this.lista = new ArrayList<CarElement>();
            lista.add(new Wheel("front left"));
            lista.add(new Wheel("front right"));
            lista.add(new Wheel("back left"));
                    lista.add(new Wheel("back right"));
            lista.add(new Body());
            lista.add(new Engine());        
        }
    La classe Car è in pratica composta da CarElement che è un'interfaccia e ha le classi concrete Body,Engine,Wheel.
    Il problema è che devo poter scorrere l'oggetto Car che è una lista di CarElement.
    Mi servirebbe un metodo magari statico che dato un oggetto di tipo Car me lo trasformi in una Collection che contiene 6 oggetti (4 oggetti di tipo Wheel, 1 Body e 1 Engine).
    In sostanza da un oggetto Car devo poter ottenere una Collection...
    Perchè mi serve per fare una roba, con un pattern...
    Cmq con questo metodo dovrei risolvere...
    Vi prego aiutatemi!!!
    Quello che non capisco è come tirare fuori una lista di CarElement di cui è composta la Car, passando la Car.
    Ho provato a fare così:
    codice:
    public CarElement prova(Car car) {
            Iterator<CarElement> itr = lista.iterator();
            while (itr.hasNext()) {
                CarElement element = itr.next();
            }
        }
    Ma non funziona...
    Vi prego, datemi una mano !!! Sto andando in depressione!

  2. #2
    Scusa ma un metodo getter che ti restituisca la lista es:
    codice:
    classCarimplementsCarElement{
        ArrayList<CarElement>lista;
        
        publicCar(){
            //create new ArrayList of CarElement
            this.lista =newArrayList<CarElement>();
            lista.add(newWheel("front left"));
            lista.add(newWheel("front right"));
            lista.add(newWheel("back left"));
                    lista.add(newWheel("back right"));
            lista.add(newBody());
            lista.add(newEngine());        
        }
       public ArrayList<CarElement> getLista()
       {
           return this.lista;
       }
    
    }
    
    publicCarElement prova(Car car){
            Iterator<CarElement> itr = car.getLista().iterator();
            while(itr.hasNext()){
                CarElement element = itr.next();
            }
        }

  3. #3
    Era più facile del previsto, non so perchè ma mi dava errore....
    Poi ho capito che era per via di un'altra classe che dava problemi!
    Cmq il metodo era corretto il tuo!
    Grazie, vedi a volte basta poco e si risolve tutto!
    Ti voglio bene
    Ultima modifica di ectobsidian; 29-11-2013 a 16:38

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.