Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15
  1. #11
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    20
    Forse ho capito dove sta il problema (senza nemmeno averlo verificato).
    Ho predisposto un metodo per pulire l'array indexes settando tutti gli elementi a 0.

    Il ciclo usa una sola istanza di indexes che di volta in volta viene aggiunta a indici (l'ArrayList), ma suppongo che una volta ripulito indexes, essendo esso un riferimento, tutti gli indexes copiati in indici assumeranno gli stessi valori, cioè tutti 0.
    E infatti solitamente l'ultimo passo del ciclo fa sì che indexes venga ripulito.
    Può essere dovuto a questo?

    E se non facessi mai la chiamata al metodo per ripulirlo, tutti gli array di indici avrebbero gli stessi valori? Ad esempio:

    1 3 6 2 4
    1 3 6 2 4
    1 3 6 2 4
    1 3 6 2 4
    ...

    Giusto?

  2. #12
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    20
    Originariamente inviato da LeleFT
    L'hai installata tu o è quella "di default"? Te lo chiedo perchè so che alcune distribuzioni Linux, in fase di installazione, consentono l'aggiunta del pacchetto Java... che però non è l'implementazione standard offerta da Oracle.

    Garantisco che quel codice, così com'è, con una JDK standard non compila.


    Ciao.
    Onestamente non ricordo. Ricordo solo di aver upgradato NetBeans alla 7.0.1, non so se poi ho anche aggiornato la JDK.
    Comunque se mi dici che la JDK standard non lo compila mi fido.

  3. #13
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,318
    Originariamente inviato da Arethel
    Forse ho capito dove sta il problema (senza nemmeno averlo verificato).
    Ho predisposto un metodo per pulire l'array indexes settando tutti gli elementi a 0.

    Il ciclo usa una sola istanza di indexes che di volta in volta viene aggiunta a indici (l'ArrayList), ma suppongo che una volta ripulito indexes, essendo esso un riferimento, tutti gli indexes copiati in indici assumeranno gli stessi valori, cioè tutti 0.
    E infatti solitamente l'ultimo passo del ciclo fa sì che indexes venga ripulito.
    Può essere dovuto a questo?

    E se non facessi mai la chiamata al metodo per ripulirlo, tutti gli array di indici avrebbero gli stessi valori? Ad esempio:

    1 3 6 2 4
    1 3 6 2 4
    1 3 6 2 4
    1 3 6 2 4
    ...

    Giusto?
    Chiaramente sì. Un array è un oggetto come un altro. Se non ne fai mai la "new", il riferimento rimane sempre allo stesso array... quindi, se tu lo aggiungi N volte all'ArrayList, avrai aggiungo N volte il riferimento allo stesso identico array.

    Se vuoi creare N array, dovrai eseguire N volte l'istruzione new.

    Esempio:
    codice:
    int[] array = new int[5];
    for(int i=0; i<10; i++) {
       ...   // Qui non faccio mai una new dell'array
       lista.add( array );
    }
    Nel codice qui sopra ho inserito nell'ArrayList "lista" 10 volte il riferimento allo stesso identico array.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #14
    Originariamente inviato da Arethel
    Forse ho capito dove sta il problema (senza nemmeno averlo verificato).
    Ho predisposto un metodo per pulire l'array indexes settando tutti gli elementi a 0.

    Il ciclo usa una sola istanza di indexes che di volta in volta viene aggiunta a indici (l'ArrayList), ma suppongo che una volta ripulito indexes, essendo esso un riferimento, tutti gli indexes copiati in indici assumeranno gli stessi valori, cioè tutti 0.
    E infatti solitamente l'ultimo passo del ciclo fa sì che indexes venga ripulito.
    Può essere dovuto a questo?

    E se non facessi mai la chiamata al metodo per ripulirlo, tutti gli array di indici avrebbero gli stessi valori? Ad esempio:

    1 3 6 2 4
    1 3 6 2 4
    1 3 6 2 4
    1 3 6 2 4
    ...

    Giusto?
    Non riesco a capire... sicuramente su utilizzi sempre e solo un'istanza di indexes è ovvio che una volta ripulita conterrà solo zeri.

    Io farei così: creerei un metedo che riceve in input l'array da ripulire, e magari anche il suo indice nell'arraylist, nel metodo cancellerei dall'arraylist l'array all'indice x, poi setterei a 0 tutti gli elementi dell'array, e infine lo ri aggiungerei all'arraylist...

    forse è un pò laboriosa come procedura, ma almeno risulta chiaro quello che intendo fare nel metodo che ripulisce l'array

  5. #15
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    20
    Originariamente inviato da robbie89
    Non riesco a capire... sicuramente su utilizzi sempre e solo un'istanza di indexes è ovvio che una volta ripulita conterrà solo zeri.

    Io farei così: creerei un metedo che riceve in input l'array da ripulire, e magari anche il suo indice nell'arraylist, nel metodo cancellerei dall'arraylist l'array all'indice x, poi setterei a 0 tutti gli elementi dell'array, e infine lo ri aggiungerei all'arraylist...

    forse è un pò laboriosa come procedura, ma almeno risulta chiaro quello che intendo fare nel metodo che ripulisce l'array
    No, ecco, il fatto è che quel metodo per ripulire l'array è effettivamente ridondante, nel senso che potrei tranquillamente sovrascriverlo ad ogni passo "utile" del ciclo, dove per utile intendo che in quel passo l'array viene completamente riempito, altrimenti non viene preso in considerazione e al passo successivo verrà sovrascritto con altri interi (ed eventualmente copiato nell'arraylist se completamente riempito).

    Lo scopo dell'arraylist indici è quello di memorizzare appunto solo gli array utili, perciò non dovrebbe contenere un array di soli zeri.

    Credo che la soluzione di Lele sia la più logica. Grazie mille a tutti!

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.