Vai al contenuto

Creare un metodo esponente per Java


maghico

Messaggi raccomandati

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

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

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

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

  • 2 settimane dopo...

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...