Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [Java] array

  1. #1

    [Java] array

    ciao a tutti, come faccio a far si che un array mi inizi all'indice 1

    int[] ora = new int[21] // da ora[1] a ora [21]

    evitando di aggiungere un elemento per poter non utilizzare ora[0]


    grazie
    Ma perchè mi avete tolto oltre 400 messaggi?

  2. #2
    Gli indici degli array vanno sempre da 0 a n-1. Non puoi cambiare tu questa regola.

    Se proprio vuoi, puoi lasciare l'elemento alla posizione 0 vuoto ma per avere 21 elementi utili devi creare un array che ne possa contenere 22.
    ..::200 post il 1 settembre 2004::..
    ..::100 13/07/2004::..
    ..): Web Site (pazienza però) ..
    VASCO castiga chi non lecca la FIGA

  3. #3
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119

    Re: [Java] array

    Originariamente inviato da redoct
    ciao a tutti, come faccio a far si che un array mi inizi all'indice 1

    int[] ora = new int[21] // da ora[1] a ora [21]

    evitando di aggiungere un elemento per poter non utilizzare ora[0]


    grazie
    Non avrebbe senso. Basta astrarre il fatto che il primo elemento dell'array si trova in posizione 0. Oltretutto un "int[] ora = new int[21]" oltre a cominciare da "ora[0]" termina in "ora[20]" e non in "ora[21]"... ArrayIndexOutOfBoundsException...

  4. #4

    Re: Re: [Java] array

    Originariamente inviato da Ed_Bunker
    [.... oltre a cominciare da "ora[0]" termina in "ora[20]" e non in "ora[21]"... ArrayIndexOutOfBoundsException...
    questo è ovvio, ma mi trovo difronte ad un lavoro precedentemente iniziato da altri, che vorrei stravolgere il meno possibile
    Ma perchè mi avete tolto oltre 400 messaggi?

  5. #5
    E chi ci ha lavorato prima di te non usava l'indice 0? O scriveva in un altro linguaggio.

    Cmq ti consiglio di aggiornare tutti gli indici del progetto al quale lavori. E' una soluzione preferibile all'usare un array con indice 0 vuoto.

    Se proprio vuoi continuare per la tua strada devi crearti (in due parole) una tua classe ArraySenza0 che contiene un array di lunghezza n, cioè esattamente quello che ti serve.
    Implementando i metodi per l'inserimento e il prelevamento degli oggetti in questo array gestirai gli indici come vuoi tu.
    Quindi se l'utilizzatore di questa classe vuole aggiungere alla posizione 1, nel tuo metodo farai aggiungere alla posizione 0.
    In ogni inserimento o prelevamento dovrai usare l'indice p-1 dove p è il parametro del metodo.

    Es. prelevamento supponendo che l'array contenga dei char
    codice:
    public char(int p){
     return array[p-1];
    }
    Ovviamente è meglio che tu inserisca i controlli sui valori di p per non avere eccezioni.
    ..::200 post il 1 settembre 2004::..
    ..::100 13/07/2004::..
    ..): Web Site (pazienza però) ..
    VASCO castiga chi non lecca la FIGA

  6. #6
    mi sa che rifaccio tutto, quà è un casino tradurre da PHP a scriplet jsp
    Ma perchè mi avete tolto oltre 400 messaggi?

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