Newsgroup: it.comp.java
Titolo: Re: array mezzo vuoto...

 Chi mi sa dire cosa succede?
Se sdim, idim, edim, odim e pdim sono int non capisco perche' definisci 
vdim come double ...
Mi sambra strano che diminuendo il valore di vdim (Togliendo pdim) alla 
fine tu abbia piu' valori nel tuo array. Non e' che il tuo loop ad un 
certo punto esce con una exception (ArrayIndexOutOfBound) ?

 Chi mi sa dire cosa succede?
Guarda che forse hai dimenticato di mettere le parentesi nel for più
interno, prova così:
double vdim = sdim* idim * edim * odim * pdim;
rv = new double[(int) vdim];
int idx = 0;
for (int i = 0; i < sdim; i++) {
         for (int j = 0; j < idim; j++) {
                for (int k = 0; k < edim; k++) {
                        for (int h = 0; h < odim; h++) {
                                for (int y = 0; y < pdim; y++)  {
                                        rv[idx] = ((2 * Math.PI *
s[i]* Math.sin(i[j])) / (s[i] * (1 -
Math.pow(e[k],2))))* (e[k] * Math.cos(o[h]) + Math.cos(o[h] + p[y]));
                                        idx++;
                                }
                        }
                }
        }
}
Ciao
Alex

 interno
Che occhio :) !

 Baci
:-) :-) sono errori difficili da scoprire, ma basta far vedere il
codice a qualcun altro...
Mi togli una curiosità, ma quell'algoritmo che hai scritto cosa
calcola?
Alex

 Baci
perche' chi scrive in java (e qui apro il flame) si ostina ad aprire
le graffe sulla stessa riga del for (e dell'if,ecc.) invece che farlo
a capo come fa chi scrive in C :P
Chiaro anche che se quando apri una graffa la chiudi subito e poi ti
metti a scrivere il codice dentro questi errori non capitano...
Ciao Jack


Caro Jack,
il modo di aprire le graffe è una convenzione, fa parte dello stile di
programmazione. Se a te piace aprire le parentesi dopo al di sotto del
for o dell'if è una scelta tua. Io lavoro da due anni con java e ti
posso assicurare che molti programmatori java aprono le parentesi al
di sotto dei for (come in C) anche non venendo dal C.
Poi sul fatto di aprire e chiudere subito le parentesi e poi scrivere
il codice sono d'accordo al 100% con te. :-)
Ciao
Alex

> Alex
A> Penso che sarei diventata pazza a furia di riguardarlo! Anche
A> perchè il compilatore nn mi segnalava nulla (cosa un pò strana a
A> dire il vero, ma magari nn lo considera un errore di sintassi).
Non era un errore di sintassi.
for (int i = 0; i < sdim; i++) {
    for (int j = 0; j < idim; j++) {
	for (int k = 0; k < edim; k++) {
	    for (int h = 0; h < odim; h++) {
		for (int y = 0; y < pdim; y++)
		    rv[idx] = qualcosa();
		idx++;
	    }
	}
    }
}
Come vedi, riformattando il codice risulta subito evidente che idx viene
incrementato solo all'interno del ciclo di indice h.
Codice perfettamente legale.
Complimenti  a Berserk  per l'occhio,  usando  un editor  con un  buon
algoritmo di indentazione la cosa risulta presto evidente :) :)....
-- 
 /\           ___
/___/\_|_|\_|__|___Gian Uberto Lauri_____
  //--\| | \|  |   Integralista GNUslamico
\/                 e coltivatore diretto di Software

 writes:
J> perche' chi scrive in java (e qui apro il flame) si ostina ad
J> aprire le graffe sulla stessa riga del for (e dell'if,ecc.) invece
J> che farlo a capo come fa chi scrive in C :P
:). Lo stile "ufficiale" è quello, se non erro, ricorda un po' il K&R
(uno dei vari stili di indentare il C, il più 'esotico' è lo FSF).


 di sotto dei for (come in C) anche non venendo dal C.
sisi, era un po' una provocazione.
Io trovo molto piu' leggibile il codice con le parentesi sotto. Ma
immagino sia un po' questione di abitudine.
Ciao Jack