Newsgroup: it.comp.java
Titolo: Re: problema con array

 qualcosa!!!
Sicura ? Dal tuo codice non capisco chi "riempe" l'array.
-- 
Giambo - Occhio al filtro antispam _e_ alla whitelist !

     	}
Cosa è lambda?
Ciao,
Giulio

 codice...
IMHO è la cosa migliore... ;-)
Ciao,
Giulio

/*for( int i=0; i<=lambda.length -1; i++)
    {
System.out.println ("Total flux = "  + Interpolation.getSum());
    }*/
eh???
Cosi' mandi in output l'indirizzo di memoria del primo elemento dell'array.
Semmai:
for( int i=0; i<=lambda.length -1; i++) System.out.println ("Total flux = " 
+ Interpolation.getSum()[i]);
ciao,
paulo

 > + Interpolation.getSum()[i]);Ci ho provato ma dà subito errore!
"Dà errore" non significa nulla.
Ad ogni modo, sicuramente è un errore di programmazione ciclare un
array e poi non leggerne gli elementi.
Infine, quale sia il contenuto di codesti array noi non possiamo
saperlo in quanto tale contenuto arriva da uno stream di input a noi
non disponibile.

 synthetic.binary.SintheticBinarySpectrum.main(SintheticBinarySpectrum.java:47)
Ok, vuol dire che totalflux è null e, guardando il tuo costruttore
propenderei per il fatto che StarMain.Spectrum.lambda ha lunghezza zero.

Adesso posto un pò di codice così si capisce meglio(forse!).
Che errore? Se ti aspetti un array di double, che senso ha un valore 
costante?
Nel costruttore inizializzi cosi' l'array:
 for (int i=0 ; i<lambda.length; i++)
         {
    totalflux[i]= flux1[i] + newflux2[i];
           }
Array che restituisci tramite il metodo getSum()
    public double[] getSum()
    {
return totalflux;
    }
Hai inoltre dichiarato come attributo private l'array di double totalflux.
Insomma non vedo qual'e' il problema. Accertati che flux1 e flux2 non 
contengano tutti elementi nulli e/o che lambda.length non sia zero. Inoltre 
quando richiami il metodo per l'oggetto istanziato ricordati che il tipo di 
ritorno e' un _array_ di double e devi quindi trattarlo di conseguenza.
paulo

 individuare dov'è l'errore :,-(
Metti un println prima del return

 ha scritto nel messaggio
Ammetto che non ho letto tutto il codice, pero' ti pongo un quesito:
public class SpectrumInterpolation {
private double [] totalflux;
public SpectrumInterpolation (double[]l, double []f1, double []f2,double s) 
{
     ....
    double [] totalflux = new double[lambda.length];
    ....
}
Non e' che la "totalflux" che vai ad elaborare nel metodo ti nasconde la 
variabile privata che hai definito poco sopra? Secondo me si.
E spiegherebbe anche perche' ti trovi dei null, l'hai dichiarata ma mai 
definita.
Saluti
CarMas

 Non ho capito sino in fondo.. però ha naso ho fatto questo:
Hai fatto la cosa giusta! ^^
Se ne vuoi capire il motivo, googla un po' scope rules e shadowing, che 
trovi giusto accennate qui:
http://it.wikipedia.org/wiki/Scope_rules
Saluti
CarMas 

 motivo, ciň puň essere legato al passaggio per riferimento?
Non dovresti avere problemi da questo punto con gli array.
Come fai a dire che flux1 viene modificato? da dove lo guardi?
Oppure (stupidaggine buttata li') hai fatto controlli per shift>0 e shift<0, 
non e' che non ricadi in nessuno dei due? :D
Saluti
CarMas

 shift sia nel costurttore che ne metodo Interpolation.
Effettivamente non li vedo definiti da nessuna parte ;) ...
   public class SpectrumInterpolation {
     private double[] totalflux;
     private double[] lambda;
     private double[] flux1;
     private double[] flux2;
     private double[] shift;
     public SpectrumInterpolation (double[]l, ...
Cosi' dovrebbe andare meglio :) ...
BTW, per convenzione in Java nomi dei metodi hanno la prima lettera 
minuscola.


 uhm... uhm...
Dovrebbe anche dirti quale riga genera l'errore ...
