maghico Inviato 10 Aprile 2007 Segnala Condividi Inviato 10 Aprile 2007 Ciao a tutti sono nuovo nel forum, volevo chiedervi un aiuto su degli esercizi che devo fare su java, si tratta di fare questo: Un metodo potenza che dato un array di doubles a e un intero n restituisca un array contenente gli elementi di a alla potenza n. Il codice scritto da me in java è questo: public static double potenza(double[] a, int n){ n = a.length; double ris = 1; for(int i = 0; i < n; i++) ris = ris * a; return ris; } il codice viene compilato correttamente, in un altro file dove lo testo non mi eleva alla potenza il numero che gli do, ma mi stampa il numero datogli da me . esempio: immetto questa sequenza di numeri { 1, 2, 3, 4} e li elevo alla 3, il programma mi stampa i numeri 1, 2, 3, 4. Cosa posso fare grazie mille!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
lele Inviato 10 Aprile 2007 Segnala Condividi Inviato 10 Aprile 2007 non ho capito alla perferz, solo una cosa, ho visto che passi n come parametro e poi lo ridefinisci uguale alla dimensione di a, sei sicuro che sia corretto questo passaggio? Chi è lei? Il numero 2. Chi è il numero 1? Lei è il numero 6. Link al commento Condividi su altri siti Altre opzioni di condivisione...
maghico Inviato 10 Aprile 2007 Autore Segnala Condividi Inviato 10 Aprile 2007 infatti penso di aver sbagliato, non so in che modo far elevare alla potenza i valori che gli do! Link al commento Condividi su altri siti Altre opzioni di condivisione...
ciochettone Inviato 10 Aprile 2007 Segnala Condividi Inviato 10 Aprile 2007 potresti usare il metodo statico della classe Math per elevare a potenza.. Link al commento Condividi su altri siti Altre opzioni di condivisione...
tohni81 Inviato 10 Aprile 2007 Segnala Condividi Inviato 10 Aprile 2007 Sicuramente il programma è logicamente sbagliato. Con quello che hai scritto non calcoli la potenza ma altro. Sono un po' arrugginito in java ma .... la soluzione per un singolo elemento può essere: public static double potenza(double a, int n){ double ris=1; if (n==0) return ris; for(int i = 0; i < n; i++) ris = ris * a; return ris; } Powermac G4 Cube MacBook Pro 15,4" C2D 2.33 iPod 3g 40 GB & iPod nano 4GB Black --> anche io corro con nike+ Link al commento Condividi su altri siti Altre opzioni di condivisione...
maghico Inviato 10 Aprile 2007 Autore Segnala Condividi Inviato 10 Aprile 2007 sono riuscito a risolvere il tutto, se a qualcuno interessa vi posto il codice: public static double[] potenza(double[] a, int n){ int l = a.length; double[] restituito = new double[l]; int i; int j; double resParz = 1; for (i=0;i<l;i++){ resParz = 1; for(j=0;j<n; j++){ resParz = resParz * a; } restituito = resParz; } return restituito; } } Link al commento Condividi su altri siti Altre opzioni di condivisione...
maghico Inviato 10 Aprile 2007 Autore Segnala Condividi Inviato 10 Aprile 2007 grazie lo stesso per il vostro aiuto! Link al commento Condividi su altri siti Altre opzioni di condivisione...
ascat Inviato 20 Aprile 2007 Segnala Condividi Inviato 20 Aprile 2007 public static double[] potenza(double[] a, int n){ for (int i=0;i<a.lenght;i++){ a=java.lang.Math.pow(a , n); } return a; } Mackbook Pro 15" Core2duo 2.1 Ghz 160 GB schermo lucido 1 GB Ram!!! + Apple Mighty Mouse Wireless http://www.antonioscatoloni.it Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Archiviato
Questa discussione è archiviata e chiusa a future risposte.