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

    [JAVA] problema con array per rubrica telefonica

    ciao a tutti.

    Sto cercando di risolvere un esercizio preso da un libro, il cui scopo è creare una semplice rubrica telefonica.
    Ho creato 4 classi, tra le quali c'è la classe "Schede", che in teoria dovrebbe avere un array contenente tutti gli oggetti della classe "Contatto".

    Questo è il codice della classe Schede:

    codice:
    public class Schede 
    {    	
    
    public Contatto schede[]=new Contatto[5];  	  	
    
    schede[0]=new Contatto("luca rossi","piazza lodi 1",0211113344);  	
    schede[1]=new Contatto("mario bianchi","piazza lodi 2",0211223344);  	
    schede[2]=new Contatto("paolo rosa","piazza lodi 3",0211333344);  	
    schede[3]=new Contatto("marco blu","piazza lodi 4",0211443344);  	
    schede[4]=new Contatto("lucia giallo","piazza lodi 5",0211553344);  	  
    
    }
    il problema sta nel fatto che Eclipse (l'IDE che uso per Java) mi riporta un errore di sintassi, richiedendomi una parentesi graffa aperta alla fine della quarta riga (quando dichiaro e istanzio il nuovo array).

    Ho fatto un paio di prove: nella stessa classe (Schede) ho inserito il metodo main, e l'errore sparisce! E ho anche provato a creare dei normalissimi array di interi in altre classi che non hanno il metodo main, e mi da ancora l'errore (???)

    Vuol forse dire che non posso creare array in classi che non hanno il metodo main? Mi sembra strano...

  2. #2
    Se l'esercizio lo hai preso da un libro o è sbagliato il codice riportato sul libro oppure hai sbagliato tu a ricopiarlo. In ogni caso se ti sfugge l'errore ti consiglio di rivedere le basi della programmazione ad oggetti prima di cimentarti negli esercizi. La struttura della classe Schede è assolutamente errata. Per inizializzare l'array come fai tu devi aggiungere quantomeno un costruttore:

    codice:
    public class Schede {    	
    
    	public Contatto schede[]=new Contatto[5];  	  	
    
    	public Schede() {
    		schede[0]=new Contatto("luca rossi","piazza lodi 1",0211113344);  	
    		schede[1]=new Contatto("mario bianchi","piazza lodi 2",0211223344);  	
    		schede[2]=new Contatto("paolo rosa","piazza lodi 3",0211333344);  	
    		schede[3]=new Contatto("marco blu","piazza lodi 4",0211443344);  	
    		schede[4]=new Contatto("lucia giallo","piazza lodi 5",0211553344);  	  
    	}
    
    }
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    be, si...forse è proprio meglio che vada a rivedermi qualcosa di OOP

    Comunque penso di aver capito.
    Non avrei avuto quel problema se avessi scritto l'array in questo modo:

    codice:
    ...  
    Contatto[] schede={new Contatto("luca rossi","piazza lodi 1",02111113344), new Contatto(....)}  
    ...
    perché l'avrei già inizializzato, giusto?

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.