Autore Topic: array di una classe  (Letto 929 volte)

Offline aladin

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S
array di una classe
« il: 08 Marzo 2011, 20:16:00 CET »
0
Vorrei creare un array multiplo per l'inserimento di dati ma non riesco. Il programma si blocca
 
 
Codice (Java): [Seleziona]
setContentView(R.layout.main);
    dati[] dx=new dati[2];    
   dx[0].lunghezza=10;      <- è questo il problema
       
    }
   
   public class dati{
        String nomi;
        int lunghezza;
       
}
« Ultima modifica: 09 Marzo 2011, 17:00:58 CET da Ricky`, Reason: tag code!!! »

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:array di una classe
« Risposta #1 il: 08 Marzo 2011, 20:37:29 CET »
0
Premetto che dovresti studiare java.
Comunque stai facendo un uso un pó strano delle classi..
Generalmente in java si offuscano i dati e si usano i metodi set e get per impostarli e ottenerli.
Ora non mi ricordo come siano i dati di default, ma credo che siano privati.
Quindi prova a usare il modificatore public.
(Ovviamente parlando di "dati" intendo dati generici, non il tuo array)
Postate il LogCat LogCat LogCat LogCat LogCat

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:array di una classe
« Risposta #2 il: 08 Marzo 2011, 20:39:07 CET »
0
il problema è che te inizializzi un array di dati (oltretutto gli oggetti si chiamano con la D maiuscola...)
poi dopo fai diretto dati[0]
ma dati[0] non l'hai inizializzato.
è una base di java, su su, spero sia una svista, altrimenti lascia perdere android e concentrati su java!
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:array di una classe
« Risposta #3 il: 08 Marzo 2011, 20:47:51 CET »
0
il problema è che te inizializzi un array di dati (oltretutto gli oggetti si chiamano con la D maiuscola...)
poi dopo fai diretto dati[0]
ma dati[0] non l'hai inizializzato.
è una base di java, su su, spero sia una svista, altrimenti lascia perdere android e concentrati su java!
Uhm non me lo ricordavo manco io che la new sugli array non chiama i costruttori. In effetti é logico.
Postate il LogCat LogCat LogCat LogCat LogCat

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:array di una classe
« Risposta #4 il: 08 Marzo 2011, 23:05:13 CET »
0
Ora non mi ricordo come siano i dati di default, ma credo che siano privati.

Ti hanno già risposto, io aggiungo solo due cose:

1. Metti un attimo da parte Android e dedicati totalmente a Java;
2. Le variabili che non hanno definito uno scope al momento della dichiarazione (quindi che non hanno public, protected o private) ottengono di default lo scope package (visibile solo da classi dello stesso package).

Offline aladin

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S
Re:array di una classe
« Risposta #5 il: 09 Marzo 2011, 16:57:59 CET »
+1
Grazie per le risposte & consigli alla fine ho risolto.
Io ho sempre programmato in c per questo usavo quella sintassi (struct) del c pensavo che  gli array tra c e java avevano piu cose in comune invece studiandoli meglio il java non tiene i puntatori.
Morale della fauola devo approfondire le mie conoscenze in java. :-X