Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    106

    [JAVA] problema con vettore

    Ciao ragazzi...in questi giorni mi sto esercitando parecchio sui vettori riuscendo a capire cose che solo l'esercitazione e l'errore puo' darti....(molte cose me le avete spiegate voi!!)...ora diciamo che ho un ultimo problema:
    - ho un metodo che scorre un vettore (uso un ciclio for per stare attendo a non sollevare eccezioni)...ogni elemento estrapolato viene rimandato a un altro metodo di un altra classe che, a seconda di certi controlli, viene eliminato...PROBLEMA...quando elimino l'elemento e il controllo ritorna al metodo chiamante (quello che scorre il vetore) il conteggio continua da dove ero rimasto ,ma avendo eliminato un elemento, tutto il vettore è traslato di 1 a sinistra, saltando cosi un elemento ogni volta che elimino qualcosa....cosa posso fare ?? come faccio a rientrare nel metodo chiamate facendo ripartire il conteggio da zero (o dal punto a cui ero arrivato -1)??

  2. #2

    Re: [JAVA] problema con vettore

    Originariamente inviato da albymotard
    Ciao ragazzi...in questi giorni mi sto esercitando parecchio sui vettori riuscendo a capire cose che solo l'esercitazione e l'errore puo' darti....(molte cose me le avete spiegate voi!!)...ora diciamo che ho un ultimo problema:
    - ho un metodo che scorre un vettore (uso un ciclio for per stare attendo a non sollevare eccezioni)...ogni elemento estrapolato viene rimandato a un altro metodo di un altra classe che, a seconda di certi controlli, viene eliminato...PROBLEMA...quando elimino l'elemento e il controllo ritorna al metodo chiamante (quello che scorre il vetore) il conteggio continua da dove ero rimasto ,ma avendo eliminato un elemento, tutto il vettore è traslato di 1 a sinistra, saltando cosi un elemento ogni volta che elimino qualcosa....cosa posso fare ?? come faccio a rientrare nel metodo chiamate facendo ripartire il conteggio da zero (o dal punto a cui ero arrivato -1)??
    Il metodo dovrebbe restituire un valore che ti fa capire cosa ha fatto dell'elemento, in questo modo se riscontri che lo ha rimosso decrementi l'indice.
    Se ciò non è possibile, puoi fare un controllo sulla dimensione del vettore dopo la chiamata del metodo.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    106
    è una buona idea pero' non saprei come fare...nel senso:
    io uno un metodo public void movimentaAscensore() che scorre il vettore(lista delle persone che sono sull'ascensore) e passa ogni elemento a public void scendeAscensore(Persona a) che toglie la persona presa in cosiderazione dal vettore e poi ripassa il controllo al metodo chiamante (movimentaAscensore)...ora come faccio a dirgli al ciclo for che deve cominciare a contare in maniera diversa visto che ho tolto un elemento??
    Cioè non riesco a capire, visto che movimentaAscensore non puo' (per direttiva del prof) accettare nulla come argomento...posso passargli lo stessodei valori al rietro??...insomma sono in palla ..non trovo soluzione

  4. #4
    Originariamente inviato da albymotard
    è una buona idea pero' non saprei come fare...nel senso:
    io uno un metodo public void movimentaAscensore() che scorre il vettore(lista delle persone che sono sull'ascensore) e passa ogni elemento a public void scendeAscensore(Persona a) che toglie la persona presa in cosiderazione dal vettore e poi ripassa il controllo al metodo chiamante (movimentaAscensore)...ora come faccio a dirgli al ciclo for che deve cominciare a contare in maniera diversa visto che ho tolto un elemento??
    Cioè non riesco a capire, visto che movimentaAscensore non puo' (per direttiva del prof) accettare nulla come argomento...posso passargli lo stessodei valori al rietro??...insomma sono in palla ..non trovo soluzione
    Probabilmente ti riferisci a quanto hai scritto qui, e ho notato che hai a disposizione il metodo
    public Vector<Persona> getVettPersona()

    Quindi, nel tuo algoritmo:
    - salvi in una variabile la dimensione del vettore restituito dal metodo, invocando su di esso il metodo
    public int size()
    - dopo l'invocazione del metodo scendeAscensore controlli se il size del vector è cambiato, in caso positivo decrementi l'indice e aggiorni la variabile.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    106
    Perfetto...ho appena fatto quello che nmi ha suggerito e ora il programma funziona che è una bellezza....GRANDE!!
    Ragazzi grazie ancora...ciao

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.