Newsgroup: it.comp.java
Titolo: [?] Problemi da principiante

Salve a tutti i membri del NG.
E' una mesetto che bazzico intorno a Java ed in questo tempo mi sono
letto un paio di manuali ed il sito di Sun (i tutorials).
Purtroppo in nessuno di questi posti sono riuscito a trovare un'esempio
che potesse aiutarmi a risolvere il problema.
Ringrazio in anticipo tutti coloro vorranno aiutarmi direttamente o
fornendomi dei link a risorse nella rete.
Il problema e' questo:
ho una classe che rappresenta gli individui chiamata Membro: nome,
cognome, età. Le tre variabili sono di tipo private e vi accedo tramite
due costruttori (uno senza parametri che inizializza a zero la var di
tipo membro ed uno che assegna i valori desiderati) oltre ai metodi per
recuperare o assegnare singloarmente ciascuno di questi attiributi.
Ho fatto un paio di test e credo di poter dire che questa classe e' Ok.
La difficoltà per la quale non riesco a trovare un testo o un esempio
sta nel accedere ai campi di un vettore di variabili di tipo elemento.
Istanzio l'array con
    Membro gruppo = new Membro[5];
Come faccio ad assegnare i valori "Mario" "Rossi" 30 ad un elemento
dell'array, e conseguentemente come faccio a recuperarli?
-Grazie a tutti.
    -Luca.
-- 
+-----------------------------------------+
|   per rispondere togli ".piancavallo"   |
+-----------------------------------------+

 dell'array, e conseguentemente come faccio a recuperarli?
gruppo[30].setNome"(giovanni);
String nome= gruppo[30].getNome();


 String nome= gruppo[30].getNome();
E' la sintassi che ho usato all'inizio e che ho verificato dopo aver
letto al tua risposta, ma ottendo il seguente messaggio di errore in
fase di compilazione:
Exception Occurred:
java.lang.NullPointerException
    at ArrayTest.main(Compiled Code)
    at com.apple.mrj.JManager.JMStaticMethodDispatcher.
                                            run(JMAWTContextImpl.java)
    at java.lang.Thread.run(Thread.java)
Non vorrei essere troppo "espansivo" ma vorrei arrivare a capire dove
sbaglio. Riporto il codice di seguito.
Grazie ancora per la risposta precedente.
    -Luca.
----- ArrayTest.java ---------------------------------------------------
import java.io.*;
class ArrayTest {
 
    public static void main( String argv[] ) throws IOException {
 
        BufferedReader stdin = new BufferedReader( new
InputStreamReader( System.in ) );
        BufferedReader fileIn = new BufferedReader( new FileReader(
"patrollersData.in" ) );
 
        String lastname = "";
 
        int num;
        int i=0;
 
        Patroller team[];
 
        // nella prima riga del file e' contenuto il numero di record
        num = Integer.parseInt( fileIn.readLine() );
 
        team = new Patroller[ num ];
 
        // Caricamento dati dal file "patrollersData.in"
        while ( ( lastname = fileIn.readLine() ) != null ){
 
            team[i].setLastname( lastname );
            team[i].setFirstname( fileIn.readLine() );
            team[i].setRank( fileIn.readLine() );
            team[i].setSkill( Integer.parseInt( fileIn.readLine() ) );
 
            i++;
        }
        System.out.println( "Terminata fase di lettura.");
 
 
        // Stampa di verifica dei dati letti dal file
        for( int j = 0; j < num ; j++ ){
 
            System.out.println( "Patroller #" + j );
            System.out.println( team[j].getLastname() );
            System.out.println( team[j].getFirstname() );
            System.out.println( team[j].getRank() );
            System.out.println( team[j].getSkill() );
            System.out.println( "--------------------------" );
        }
 
    }
}
========================================================================
----- Patroller.java ---------------------------------------------------
public class Patroller{
    private String lastname, firstname, rank;
    private int skill;
 
    Patroller(){
        lastname=firstname=rank="";
        skill=0;
    }
 
    Patroller( String l, String f, String r, int s ){
        lastname=l;
        firstname=f;
        rank=r;
        skill=s;
    }
 
    public void setLastname( String s ){
        lastname=s;
    }
 
    public void setFirstname( String f ){
        firstname=f;
    }
 
    public void setRank( String r ){
        rank=r;
    }
 
    public void setSkill( int s ){
        skill = s;
    }
 
    public String getLastname(){
        return lastname;
    }
 
    public String getFirstname(){
        return firstname;
    }
 
    public String getRank(){
        return rank;
    }
 
    public int getSkill(){
        return skill;
    }
}
========================================================================


             team[i].setSkill( Integer.parseInt( fileIn.readLine() ) );
lavora su oggetti Patroller non istanziati cioč null.
Prova ad aggiungere dove ho messo il commento una riga
team[i]=new Patroller();
e vedrai che tutto andrą per il meglio.
Hai capito l'inghippo?
Ciao,
maurizio.

 maurizio.
Provero'! intanto grazie mille!
    -Luca.


 wrote in message
1eyx58p.1oaqvsrwikhl2N%lsar...@iol.piancavallo.it...


 maurizio.
Ti rigrazio veramente! Ho risolto! Anzi HAI risolto il mio problema
:o)))
L'inghippo stava proprio in quell'istruzione mancante!


 (java.util.Vector)
Fa molto differenza? perche' nei libri che sto leggendo non ne ho
trovata traccia e la reference di 
java.sun.com
 non e' sempre chiarissima
per chi comincia... in ogni modo adesso vado adare un'occhiata.
Grazie e ciao.


per chi comincia... in ogni modo adesso vado adare un'occhiata.
Allora ti aggiungo dell'altro materiale sull'argomento (ma magari
l'hai già letto):
http://java.sun.com/docs/books/tutorial/collections/index.html
HTH
-- 
Ciao
	Fabrizio C.