Visualizzazione dei risultati da 1 a 3 su 3

Discussione: java array

  1. #1
    Utente bannato
    Registrato dal
    Dec 2008
    Messaggi
    64

    java array

    ciao allora se io ho

    int array=new int[10];
    array[2]=5; equivale a fare in c++ *(array+2)=5;

    ma se invece di avere un int ad esempio ho una classe

    class prova{
    int x=0;
    int y=0;
    }

    Prova array[]=new prova[10];// si creano 10 celle fatte come prova e l array va a puntare
    alla prima

    se poi voglio andare a modificare la x presente alla posizione [1]

    array[1].x=9; mi da errore ma non capisco si no come fare....in questo modo faccio
    *(array+1).x che è sbagliato perchè faccio array+1 e accedo

    come dovrei fare????

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ti dà errore perchè probabilmente l'elemento non esiste.

    Gli oggetti bisogna crearli con la "new"... un array di N interi crea automaticamente N interi tutti a 0. Un array di N oggetti crea N posizioni nulle...

    codice:
    MioOggetto[] array = new MioOggetto[10];   // Creo 10 posizioni "null" che potranno contenere oggetti di tipo "MioOggetto"
    
    array[0] = new MioOggetto();   // Creo l'oggetto in posizione 0
    array[1] = new MioOggetto();   // Creo l'oggetto in posizione 1
    ...
    
    array[1].x = 5;   // Assegno 5 al membro "x" dell'oggetto in posizione 1.
    PS: Attenzione a maiuscole e minuscole... come il C++, anche Java è case-sensitive.

    PpS: usa i tag CODE quando posti del codice. E specifica sempre precisamente l'errore (ovvero, l'eccezione che viene sollevata). Dire "mi da errore" nel 90% dei casi non aiuta nessuno a capire dove/come/perchè ci sia l'errore.


    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

  3. #3
    Utente bannato
    Registrato dal
    Dec 2008
    Messaggi
    64
    grazie

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.