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

    [Java] Array di oggetti

    Salve a tutti,
    sto studiando Java a oggetti e, provando a creare un array di oggetti, mi ritrovo inesorabilmente incontro a degli errori che proprio non riesco a spiegarmi.

    Sto facendo un progettino che gestisce le informazioni dei conti correnti di una banca e per farlo volevo salvare ogni conto in un array, qui il codice:
    codice:
    public class Banca
    {
         private ContoCorrente[] ccs = new ContoCorrente[2];
         // sono solo 2 giusto come prova
         // ho già creato in un altro file la classe pubblica ContoCorrente e funge tutto
         ccs[0] = new ContoCorrente();
         ccs[1] = new ContoCorrente();
         .........
    
    }
    quell'array è il problema.
    Vi incollo i primi due errori che mi segnala con 'javac' perchè gli altri sono simili:

    "Banca.java:8: error: ']' expected
    ccs[0] = new ContoCorrente();
    ^
    Banca.java:8: error: ';' expected
    ccs[0] = new ContoCorrente();

    ecc ecc....."

    qualcuno sa per favore spiegarmi cosa sto sbagliando?
    grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da mastodilu Visualizza il messaggio
    codice:
         ccs[0] = new ContoCorrente();
         ccs[1] = new ContoCorrente();
    Semplicemente queste due istruzioni non possono stare lì, allo stesso livello degli altri membri. Devono stare dentro un metodo, dentro un costruttore o dentro un instance (o static) initialization block.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    quindi mi basta fare un metodo dentro alla classe Banca del tipo
    codice:
    public class Banca
    {
         private ContoCorrente[] ccs = new ContoCorrente[2];
         public void CreaArray()
         {
              this.ccs[0] = new ContoCorrente();
              this.ccs[1] = new ContoCorrente();
         }
    
    }
    giusto? (devo usare this. ?)
    il metodo deve essere statico?

    Mi basta mettere quegli assegnamenti nel main?
    Ultima modifica di mastodilu; 21-03-2015 a 22:31

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Non è necessario usare il this.
    Non è necessario avere il metodo static (meno static usi, più il mondo è bello)
    No, nel main non avrebbe senso perché il main è static e ccs non lo è.

    L'ideale sarebbe fare quelle istanziazioni
    1) nel costruttore di Banca
    2) nel metodo di Banca che userai per aggiungere un conto corrente (nel caso fosse previsto dallesercizio)

    codice:
    public class Banca {
        private ContoCorrente[] contiCorrenti = null;
    
        public Banca() {
            contiCorrenti = new ContoCorrente[2];
            contiCorrenti[0] = new ContoCorrente();
            contiCorrenti[1] = new ContoCorrente();
        }
    
        altri metodi...
    
    }
    
    public class Main {
        public static void main(String[] args) {
            Banca banca = new Banca()
             ....
        }
    }
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    wau ok, grazie mille!

  6. #6
    ah giusto un parere:
    è buona norma fare un file.java per ogni classe/oggetto e farne un altro per il main o è troppo esagerato?

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da mastodilu Visualizza il messaggio
    ah giusto un parere:
    è buona norma fare un file.java per ogni classe/oggetto e farne un altro per il main o è troppo esagerato?
    In generale: un file .java per ciascuna classe "top level" (detto in altro modo: meglio non mettere più classi top level all'interno dello stesso sorgente).
    Per il main ... se la applicazione vuoi farla ben scritta e diventa alla fin fine abbastanza corposa (decine e decine di classi), allora sì meglio un .java solo per la classe con il main.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    capito 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.