Qualcuno può dirmi come tradurre questa equazione in un processo Java?[Chiuso]
Domanda
Devo sapere come tradurre questo:
in un processo Java che assomiglia a:
public static float computeAverage(float [] i){
//I have no idea what this is supposed to be.
}
o forse anche
public static double computeAverage(double [] i){
//Still have no idea what this is meant to be.
}
Se è più semplice rispondere con i doppi, va bene, ma non ho davvero bisogno di quel livello di precisione.
*Modifica:*Ok, dimmi se sembra giusto:
public static float computeAverage(float [] i){
float tally = 0f;
for(int x=0;x<i.length;x++){
tally = tally + pValue(i[x]);
}
return tally / i.length;
}
public static float pValue(float i){
return 2 - 1f/i;
}
Soluzione
Non voglio fare il tuo lavoro subito, perché non ti aiuterà in futuro.Ma provo a darti degli spunti.
Elementi Java
I diversi elementi di cui potresti aver bisogno sono i seguenti:
- il numero
n
, che è il numero di elementi nell'array di input, è possibile accedervi utilizzandomyInput.length
- per ripetere con uno spostamento
k
indice, avrai bisogno di un filefor
ciclo continuo. Controllalo sapere come usarefor
loop. - dovrai stare attento che in Java gli array lo sono indicizzato a partire da 0, non 1.Quindi per accedere
Ck
, scriverai davveromyInput[k-1]
.
Analizza il tuo problema
Cosa vuoi ottenere?Non stai semplicemente "traducendo questa formula in codice Java", ma stai scrivendo un metodo (una funzione) che, dato un array di input di Ci
, restituisce una media seguendo la formula specificata.
Penso che il tuo compito sia scrivere la seguente funzione:
Forse dovresti provare a:
- scrivere un piccolo metodo per
p()
- scrivere un
for
loop che esegue una somma (internet ne è piena) - adattare il tuo
for
loop utilizzandop()
- dividere il risultato di
for
passare in rassegnan
- restituire il risultato diviso
AGGIORNAMENTO:è molto più facile aiutarti dopo aver provato qualcosa :)
Il tuo codice sembra a posto nel complesso ora.Secondo la tua formula penso che tu stia aggiungendo il valore sbagliato alla somma nel tuo ciclo).
Probabilmente dovrebbe essere: tally = tally + pValue(i[x])